วิธีการพัฒนามี OneNote 2010 ribbon add-in ของโปรแกรมประยุกต์


ข้อความนำ


บทความนี้อธิบายตัวอย่างกรอบงานรหัสออลอินผิดที่พร้อมใช้งานสำหรับการดาวน์โหลด โค้ดตัวอย่างนี้สาธิตวิธีการพัฒนาแบบ COM 2010 OneNote ของ Microsoft เพิ่มในแอพลิเคชันที่ประมวลผลอินเทอร์เฟซสำหรับIRibbonExtensibility เพิ่มในโปรแกรมประยุกต์ที่สนับสนุนการกำหนด ribbon เอง ด้วยการใช้อินเทอร์เฟซสำหรับIRibbonExtensibility โค้ดตัวอย่างนี้ยังแนะนำเกี่ยวกับวิธีการใช้แบบจำลองอ็อบเจกต์ OneNote 2010

ระดับความยาก

ข้อมูลการดาวน์โหลด

เมื่อต้องการดาวน์โหลดโค้ดตัวอย่างนี้ คลิกการเชื่อมโยงต่อไปนี้:

ภาพรวมทางเทคนิค

สร้างการใช้ร่วมกันเพิ่มในแอพลิเคชันสำหรับ OneNote 2010

เนื่องจากการใช้ร่วมกันเพิ่มในตัวช่วยสร้างไม่ประกอบด้วยตัวเลือก Microsoft OneNote การสร้างที่ใช้ร่วมกันเพิ่มในโปรแกรมประยุกต์ OneNote 2010 ให้ทำตามขั้นตอนเหล่านี้:
  1. เลือก Microsoft Access เป็นโฮสต์แอพลิเคชันของคุณในการใช้ร่วมกันเพิ่มในตัวช่วยสร้าง
  2. ปรับเปลี่ยนการตั้งค่าโครงการรีจิสทรีHKCUเพื่อคีย์ย่อยของรีจิสทรีต่อไปนี้:
    [HKEY_CURRENT_USER\Software\Microsoft\Office\OneNote\AddIns\CSOneNoteRibbonAddIn.Connect]"LoadBehavior"=dword:00000003"FriendlyName"="OneNoteRibbionAddIn""Description"="OneNote2010 Ribbon AddIn ตัวอย่าง"

สืบทอด IDTExtensibility อินเทอร์เฟซสำหรับการกำหนดเองตัวควบคุม ribbon สำหรับ OneNote

เมื่อต้องการกำหนดเอง ตัวควบคุม ribbon สำหรับ OneNote เรียกใช้รหัสดังต่อไปนี้เพื่อทำให้การเชื่อมต่อคลาสที่สืบทอดอินเทอร์เฟซสำหรับIRibbonExtensibilityและจากนั้น ใช้วิธีGetCustomUI :
/// <summary>        ///     Loads the XML markup from an XML customization file         ///     that customizes the Ribbon user interface.        /// </summary>        /// <param name="RibbonID">The ID for the RibbonX UI</param>        /// <returns>string</returns>        public string GetCustomUI(string RibbonID)        {            return Properties.Resources.customUI;        }

กำหนดเองไอคอนและปฏิบัติลักษณะการทำงานของปุ่มสำหรับตัวควบคุม ribbon

เรียกใช้รหัสดังต่อไปนี้เพื่อใช้วิธีOnGetImageและShowFormในแฟ้ม customUI.xml:
/// <summary>        ///     Implements the OnGetImage method in customUI.xml        /// </summary>        /// <param name="imageName">the image name in customUI.xml</param>        /// <returns>memory stream contains image</returns>        public IStream OnGetImage(string imageName)        {            MemoryStream stream = new MemoryStream();            if (imageName == "showform.png")            {                Resources.ShowForm.Save(stream, ImageFormat.Png);            }             return new ReadOnlyIStreamWrapper(stream);        }         /// <summary>        ///     show Windows Form method        /// </summary>        /// <param name="control">Represents the object passed into every        /// Ribbon user interface (UI) control's callback procedure.</param>        public void ShowForm(IRibbonControl control)        {            OneNote.Window context = control.Context as OneNote.Window;            CWin32WindowWrapper owner =                new CWin32WindowWrapper((IntPtr)context.WindowHandle);            TestForm form = new TestForm(applicationObject as OneNote.Application);            form.ShowDialog(owner);             form.Dispose();            form = null;            context = null;            owner = null;                       GC.Collect();            GC.WaitForPendingFinalizers();            GC.Collect();        }

ใช้แบบจำลองอ็อบเจกต์ OneNote 2010 เพื่อเรียกดูชื่อเรื่องสำหรับเพจที่มี OneNote

เพิ่มการอ้างอิงไลบรารีวัตถุ 14.0 OneNote ของ Microsoft และจากนั้น ตั้งค่าคุณสมบัติชนิด Interop ฝังเป็นFalse:
/// <summary>        /// Get the title of the page        /// </summary>        /// <returns>string</returns>        private string GetPageTitle()        {            string pageXmlOut = GetActivePageContent();                    var doc = XDocument.Parse(pageXmlOut);            string pageTitle = "";            pageTitle = doc.Descendants().FirstOrDefault().Attribute("ID").NextAttribute.Value;             return pageTitle;        }

ประเภทของเทคโนโลยี

พัฒนาสำนักงาน

ภาษา

ตัวอย่างรหัสนี้มีอยู่ในภาษาการเขียนโปรแกรมต่อไปนี้:
ภาษาชื่อโครงการ
Visual C#COneNoteRibbonAddIn
Visual Basic.NETVBOneNoteRibbonAddIn

ข้อกำหนดเบื้องต้น

เมื่อต้องการเรียกใช้โค้ดตัวอย่างนี้ คุณต้องติดตั้งผลิตภัณฑ์ต่อไปนี้:
  • Microsoft Visual Studio 2010
  • เครื่องมือ Studio Microsoft Visual สำหรับ Microsoft Office 2010
  • Microsoft OneNote 2010

แท็ก

  • OneNote 2010 Ribbon AddIn
  • COM AddIn
  • IDTExtensibility
  • รูปแบบวัตถุของ OneNote 2010

อ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ COM add-in ของโปรแกรมประยุกต์ที่จะปรับเปลี่ยนส่วนติดต่อผู้ใช้ แวะไปเว็บไซต์ MSDN ต่อไปนี้: สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหาความเข้ากันได้ สำหรับ OneNote 2010 และ Visual Studio2010 แวะไปที่บล็อก MSDN ต่อไปนี้: สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสร้าง OneNote 2010 COM add-in ของโปรแกรมประยุกต์ แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:

ข้อมูลเพิ่มเติม


กรอบงานรหัสออลอินคืออะไร

กรอบงานรหัสออลอินแสดงเทคนิคการพัฒนา Microsoft ส่วนใหญ่ โดยใช้ตัวอย่างรหัสในภาษาการเขียนโปรแกรมต่าง ๆ ตัวอย่างแต่ละอย่างรอบคอบเลือก ส่วนประกอบ และจัดทำเอกสารเพื่อแสดงสถานการณ์สมมติรหัสทั่วไปหนึ่ง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกรอบงานรหัสออลอิน แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:

วิธีการค้นหาตัวอย่างรหัส Framework ออลอินเพิ่มเติม

เมื่อต้องการค้นหาตัวอย่างรหัส Framework ออลอินเพิ่มเติม ค้นหา "kbcodefx" ร่วมกับคำสำคัญที่เกี่ยวข้องใน Microsoft สนับสนุนเว็บไซต์ หรือ แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
คำปฏิเสธการเผยแพร่อย่างรวดเร็ว
Microsoft corporation และ/หรือของซัพพลายเออร์แต่ละรายทำไม่ได้ยืนยันใด ๆ เกี่ยวกับความเหมาะสม ความน่าเชื่อถือ หรือความถูกต้องของข้อมูลและกราฟิกที่เกี่ยวข้องที่มีอยู่ในที่นี้ ข้อมูลและกราฟิกที่เกี่ยวข้องทั้งหมดดังกล่าวไว้ให้ "ตามที่เป็นอยู่" โดยไม่มีการรับประกันใด ๆ Microsoft และ/หรือซัพพลายเออร์ที่เกี่ยวข้องแปลง disclaim รับประกันและเงื่อนไขที่เกี่ยวข้องกับข้อมูลนี้ทั้งหมด และที่เกี่ยวข้องกับกราฟิก รวมถึงการรับประกันโดยนัยทั้งหมดและเงื่อนไขของความสามารถในเชิงพาณิชย์ ความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ workmanlike ความพยายาม ชื่อเรื่อง และที่ไม่ใช่การละเมิด โดยเฉพาะอย่างยิ่งตกลงว่า ไม่ จะ Microsoft และ/หรือซัพพลายเออร์ที่รับผิดชอบใด ๆ เกิดจากทางตรง ทางอ้อม โทษ พิเศษ ต่อการเสียหาย หรือเสียหายใด ๆ ก็ตามรวมถึง แต่ไม่ เสียหายสำหรับการใช้ ข้อมูล หรือ กำไร เกิดจากทั้งหมด หรือ ในวิธีใด ๆ ที่เชื่อมโยงกับการใช้งานหรือไม่สามารถใช้ข้อมูลและกราฟิกที่เกี่ยวข้องอยู่ในที่นี้ ว่าตามสัญญา สูญ ความผิด หนี้สินที่เข้มงวด หรืออย่างอื่น ใด แม้ว่า Microsoft หรือของซัพพลายเออร์ใด ๆ มีการ คำแนะนำเกี่ยวกับเสียหายที่อาจเกิดขึ้น