소개
다운로드할 수는 하나로 모든 코드 프레임 워크 샘플을 설명 합니다. 코드 예제에는 응용을 개발 하는 Microsoft OneNote 2010 COM 추가 기능에 IRibbonExtensibility 인터페이스를 구현 하는 방법을 보여 줍니다. 응용 프로그램 추가 기능에 IRibbonExtensibility 인터페이스를 구현 하 여 리본 메뉴를 사용자 지정 하는 지원 합니다. 이 코드 예제는 OneNote 2010 개체 모델을 사용 하는 방법을 소개 합니다.
난이도 수준
다운로드 정보
이 코드 샘플을 다운로드 하려면 다음 링크 중 하나를 누릅니다.
기술 개요
공유 추가 기능에서 응용 프로그램 만들기 OneNote 2010에 대 한
공유 추가 기능 마법사 Microsoft OneNote 옵션을 OneNote 2010에 대 한 공유 추가 기능에서 응용을 만들 수 없기 때문에 다음이 단계를 수행 합니다.
-
공유 추가 기능 마법사에서 호스트 응용 프로그램으로 Microsoft Access를 선택 합니다.
-
설치 프로젝트 레지스트리 HKCU 다음 레지스트리 하위 키를 수정 합니다.
[HKEY_CURRENT_USER\Software\Microsoft\Office\OneNote\AddIns\CSOneNoteRibbonAddIn.Connect]"LoadBehavior"=dword:00000003"FriendlyName"="OneNoteRibbionAddIn""Description"="OneNote2010 리본 추가 기능 샘플"
OneNote에 대 한 IDTExtensibility 인터페이스를 사용자 지정 리본 컨트롤을 상속 합니다.
사용자 지정 하려면 OneNote에 리본 컨트롤 IRibbonExtensibility 인터페이스를 상속 하 고 GetCustomUI 메서드 구현 connect 클래스에 다음 코드를 실행 합니다.
/// <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; }
단추는 리본 메뉴 컨트롤에 대 한 사용자 지정 아이콘 및 구현 기능
메서드를 구현 하는 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 페이지의 제목을 가져오는를 OneNote 2010 개체 모델을 사용 합니다.
Microsoft OneNote 14.0 개체 라이브러리 참조를 추가 하 고 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; }
기술 범주
Office 개발
언어들
이 코드 샘플은 다음과 같은 프로그래밍 언어에서 사용할 수 있습니다.
언어 |
프로젝트 이름 |
---|---|
C# |
COneNoteRibbonAddIn |
Visual Basic.NET |
VBOneNoteRibbonAddIn |
전제 조건
이 코드 예제를 실행 하려면 다음 제품을 설치 해야 합니다.
-
Microsoft Visual Studio 2010
-
Microsoft Visual Studio Tools for Microsoft Office 2010
-
Microsoft OneNote 2010
태그
-
OneNote 2010 리본 메뉴의 추가 기능
-
COM 추가 기능
-
IDTExtensibility
-
OneNote 2010 개체 모델
참조
COM 추가 기능에서 응용 프로그램을 사용자 인터페이스를 수정 하는 방법에 대 한 자세한 내용은 다음 MSDN 웹 사이트를 방문 하십시오.
시각적 Studio2010 및 OneNote 2010에 대 한 호환성 문제에 대 한 자세한 내용은 다음 MSDN 블로그를 방문.
OneNote 2010 COM 추가 기능에서 응용 프로그램을 만드는 방법에 대 한 자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오.
추가 정보
하나로 모든 코드 프레임 워크 무엇입니까?
하나로 모든 코드 프레임 워크는 다양 한 프로그래밍 언어에서 코드 샘플을 사용 하 여 대부분의 Microsoft 개발 기술을 보여 줍니다. 각 예제에서는 신중 하 게 선택, 구성, 이며 하나의 공통 코드 시나리오를 표시할 문서화 된. 하나로 모든 코드 프레임 워크에 대 한 자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오.
자세한 하나로 모든 코드 프레임 워크 샘플을 찾는 방법
자세한 하나로 모든 코드 프레임 워크 샘플을 찾으려면 "kbcodefx"는 Microsoft에서 관련된 키워드와 함께 검색 웹 사이트를 지원 합니다. 또는 다음 Microsoft 웹 사이트를 방문 하십시오.
신속한 게시 고 지 사항
마이크로소프트 및/또는 그 공급자 적합성, 신뢰성, 또는 정보 및 여기에 포함 된 관련 된 그래픽 정확성에 대 한 없는 표현을 확인 합니다. 이러한 모든 정보 및 관련 된 그래픽 어떤 종류의 보증 없이 "있는 그대로"를 제공 됩니다. Microsoft 및/또는 그 공급자 본 부인 모든 보증 및 조건을이 정보에 대해 및 그래픽, 모든 묵시적 및 법적인 두고 특정 목적에의 적합성을 포함 하 여 관련 노력, 제목 및 비 침해입니다. 경우에 Microsoft 및/또는 그 공급자 책임을 지지 않으며 어떠한 직접, 간접, 인과 응 보, 부수적, 특별, 파생적 손해 또는 모든 손해에 대 한 포함 하 되 제한 되지 않음, 사용, 데이터 손실에 대 한 손상을 특별히 동의 하거나 부족 또는 사용 또는 정보 및 여기에 포함 된, 계약, 불법행위, 과실, 엄격한 책임에 따라 또는 여부를 Microsoft 또는 그 공급자가 된 경우에 관련 된 그래픽 사용할 수 없음으로와 연결 어떤 식으로든에서 발생 하는 이익 손해의 가능성에 대해 충고.