GIỚI THIỆU
Bài viết này mô tả một tất cả trong một khuôn khổ mã mẫu có sẵn để tải về. Mẫu mã sẽ giải thích cách phát triển một Microsoft OneNote 2010 COM thêm trong ứng dụng thực hiện giao diện IRibbonExtensibility . Ứng dụng bổ sung hỗ trợ tuỳ chỉnh ruy băng bằng cách thực hiện giao diện IRibbonExtensibility . Mẫu mã này cũng giới thiệu cách sử dụng mô hình đối tượng OneNote 2010.
Mức độ khó khăn
Thông tin tải xuống
Để tải xuống mẫu mã này, bấm vào một trong các liên kết sau:
Tổng quan về kỹ thuật
Tạo một tiện ích trong ứng dụng chia sẻ OneNote 2010
Vì chia sẻ thêm thuật sĩ không có tuỳ chọn Microsoft OneNote, để tạo một chia sẻ thêm ứng dụng OneNote 2010, hãy làm theo các bước sau:
-
Chọn Microsoft Access máy chủ ứng dụng của bạn trong chia sẻ thêm trong thuật sĩ.
-
Thay đổi thiết lập dự án sổ đăng ký HKCU khoá con đăng ký sau:
[HKEY_CURRENT_USER\Software\Microsoft\Office\OneNote\AddIns\CSOneNoteRibbonAddIn.Connect]"LoadBehavior"=dword:00000003"FriendlyName"="OneNoteRibbionAddIn""Description"="OneNote2010 ruy băng ́ mẫu"
Kế thừa giao IDTExtensibility tùy chỉnh điều khiển băng cho OneNote
Tùy chỉnh điều khiển băng cho OneNote chạy mã sau cho kết nối lớp kế thừa giao diện IRibbonExtensibility , và sau đó thực hiện phương pháp 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; }
Tính năng tùy chỉnh biểu tượng và thực hiện các nút kiểm soát ruy băng
Chạy mã sau đây để thực hiện các phương pháp OnGetImage và ShowForm trong tệp 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(); }
Sử dụng mô hình đối tượng OneNote 2010 để tiêu đề cho một trang OneNote
Thêm tham khảo thư viện đối tượng Microsoft OneNote 14.0 và sau đó đặt thuộc tính Nhúng Interop loại sai:
/// <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; }
Loại công nghệ
Phát triển Office
Ngôn ngữ
Mẫu mã này có sẵn trong các ngôn ngữ sau:
Ngôn ngữ |
Tên dự án |
---|---|
Visual C# |
COneNoteRibbonAddIn |
Visual Basic.NET |
VBOneNoteRibbonAddIn |
Điều kiện tiên quyết
Để chạy mã mẫu này, bạn phải cài đặt các sản phẩm sau:
-
Microsoft Visual Studio 2010
-
Microsoft Visual Studio công cụ cho Microsoft Office 2010
-
Microsoft OneNote 2010
Thẻ
-
OneNote 2010 ruy băng ́
-
́ COM
-
IDTExtensibility
-
Mô hình đối tượng OneNote 2010
Tham khảo
Để biết thêm thông tin về COM thêm trong ứng dụng thay đổi giao diện người dùng, hãy ghé thăm website sau của MSDN:
Để biết thêm thông tin về các vấn đề tương thích cho OneNote 2010 và Studio2010 hình ảnh, hãy truy cập blog MSDN sau đây:
Để biết thêm thông tin về cách tạo OneNote 2010 COM thêm trong ứng dụng, ghé thăm website sau của Microsoft:
Thông tin Bổ sung
Tất cả-trong-một mã Framework là gì?
Tất cả-trong-một mã khung Hiển thị hầu hết các kỹ thuật phát triển Microsoft bằng cách sử dụng mẫu mã ngôn ngữ khác nhau. Ví dụ mỗi cẩn thận lựa chọn, bao gồm và tài liệu cho một trường hợp mã phổ biến. Để biết thêm thông tin về tất cả-trong-một mã khung, ghé thăm website sau của Microsoft:
Làm thế nào để thêm tất cả trong một khuôn khổ mã mẫu
Để biết thêm tất cả trong một khuôn khổ mã mẫu, hãy tìm kiếm "kbcodefx" cùng với các từ khóa liên quan trên Microsoft hỗ trợ trang Web. Hoặc, hãy ghé thăm website sau của Microsoft:
Miễn trừ trách nhiệm xuất bản nhanh
Tập đoàn Microsoft và/hoặc các nhà cung cấp tương ứng thực hiện đại diện không phù hợp, độ tin cậy hoặc tính chính xác của thông tin và đồ hoạ liên quan ở đây. Tất cả các thông tin và đồ hoạ liên quan được cung cấp "as is" không có bảo hành nào. Microsoft và/hoặc các nhà cung cấp tương ứng hướng từ chối mọi bảo đảm và điều kiện đối với thông tin này và sơ đồ hoạ, ngụ ý bảo đảm và điều kiện bán, cho một mục đích cụ thể, trường nỗ lực, tiêu đề và không vi phạm. Bạn đặc biệt đồng ý rằng trong trường hợp Microsoft và/hoặc các nhà cung cấp phải chịu trách nhiệm cho bất kỳ trực tiếp, gián tiếp, trừng phạt, ngẫu nhiên, đặc biệt, do hậu quả thiệt hại hoặc bất kỳ thiệt hại nào bao gồm nhưng không giới hạn, thiệt hại trong sử dụng, dữ liệu hoặc lợi nhuận phát sinh từ hoặc trong bất kỳ cách nào liên quan đến việc sử dụng hoặc không thể sử dụng thông tin và đồ hoạ liên quan có trong tài liệu này, xem theo hợp đồng, sai lầm, Nokia, trách nhiệm pháp lý nghiêm ngặt hay nói cách khác, ngay cả nếu Microsoft hoặc bất kỳ các nhà cung cấp thông báo về khả năng thiệt hại.