This project has moved. For the latest updates, please go here.
/*
   customize classic UI in PowerPoint
   taken from Example07.cs
*/
private void Example07Main()
{
   Office.CommandBar commandBar;
   Office.CommandBarButton commandBarBtn;

   // start powerpoint and turn off msg boxes
   _powerApplication = new PowerPoint.Application();
   _powerApplication.DisplayAlerts = PpAlertLevel.ppAlertsNone;
   
   // add a new presentation with one new slide
   PowerPoint.Presentation presentation = 
_powerApplication.Presentations.Add(MsoTriState.msoTrue); PowerPoint.Slide slide = presentation.Slides.Add(1, PpSlideLayout.ppLayoutBlank); // add a commandbar popup Office.CommandBarPopup commandBarPopup = (Office.CommandBarPopup)
_powerApplication.CommandBars["Menu Bar"].Controls.Add(MsoControlType.msoControlPopup); commandBarPopup.Caption = "commandBarPopup"; #region few words, how to access the picture /* you can see we use an own icon via .PasteFace() is not possible from outside process boundaries to use the PictureProperty
directly the reason for is IPictureDisp:
http://support.microsoft.com/kb/286460/de its not important is early or late binding or managed or unmanaged,
the behaviour is always the same For example, a COMAddin running as InProcServer and can access the Picture Property
*/
#endregion #region CommandBarButton // add a button to the popup commandBarBtn = (Office.CommandBarButton)
commandBarPopup.Controls.Add(MsoControlType.msoControlButton); commandBarBtn.Style = MsoButtonStyle.msoButtonIconAndCaption; commandBarBtn.Caption = "commandBarButton"; Clipboard.SetDataObject(this.Icon.ToBitmap()); commandBarBtn.PasteFace(); commandBarBtn.ClickEvent +=
new Office.CommandBarButton_ClickEventHandler(commandBarBtn_Click); #endregion #region Create a new toolbar // add a new toolbar commandBar = _powerApplication.CommandBars.Add("MyCommandBar",
MsoBarPosition.msoBarTop, false, true); commandBar.Visible = true; // add a button to the toolbar commandBarBtn = (Office.CommandBarButton)
commandBar.Controls.Add(MsoControlType.msoControlButton); commandBarBtn.Style = MsoButtonStyle.msoButtonIconAndCaption; commandBarBtn.Caption = "commandBarButton"; commandBarBtn.FaceId = 3; commandBarBtn.ClickEvent +=
new Office.CommandBarButton_ClickEventHandler(commandBarBtn_Click); // add a dropdown box to the toolbar commandBarPopup = (Office.CommandBarPopup)
commandBar.Controls.Add(MsoControlType.msoControlPopup); commandBarPopup.Caption = "commandBarPopup"; // add a button to the popup, we use an own icon for the button commandBarBtn = (Office.CommandBarButton)
commandBarPopup.Controls.Add(MsoControlType.msoControlButton); commandBarBtn.Style = MsoButtonStyle.msoButtonIconAndCaption; commandBarBtn.Caption = "commandBarButton"; Clipboard.SetDataObject(this.Icon.ToBitmap()); commandBarBtn.PasteFace(); commandBarBtn.ClickEvent +=
new Office.CommandBarButton_ClickEventHandler(commandBarBtn_Click); #endregion #region Create a new ContextMenu // add a commandbar popup commandBarPopup = (Office.CommandBarPopup)
_powerApplication.CommandBars["Frames"].Controls.Add(
MsoControlType.msoControlPopup); commandBarPopup.Caption = "commandBarPopup"; // add a button to the popup commandBarBtn = (Office.CommandBarButton)
commandBarPopup.Controls.Add(MsoControlType.msoControlButton); commandBarBtn.Style = MsoButtonStyle.msoButtonIconAndCaption; commandBarBtn.Caption = "commandBarButton"; commandBarBtn.FaceId = 9; commandBarBtn.ClickEvent +=
new Office.CommandBarButton_ClickEventHandler(commandBarBtn_Click); #endregion // make visible & set buttons _powerApplication.Visible = MsoTriState.msoTrue; }

Last edited Jun 13, 2012 at 12:44 PM by SebastianDotNet, version 6

Comments

No comments yet.