George Qi
Posts: 1
Joined: 2006-09-07
|
Hi All:
Our company has purchased Add-In Express for Visual Studio 2005. We want to insert some menu bar or popup menu items into the Outlook.
The only sample at: http://www.add-in-express.com/support/addin-c-sharp.php#93
is for Visual Studio 2003. My effort to convert it into a Visual Studio 2005 is failed (See attached codes bellow).
Thank you very much.
Following is my code:
========================================================
this.adxOutlookEvents.CommandBarsUpdate += new EventHandler(this.ToolsMenuLogonEventHandler);
internal void ToolsMenuLogonEventHandler(object sender, System.EventArgs e)
{
Outlook.NameSpace nameSpace = OutlookApp.GetNamespace("MAPI");
Outlook.Explorer activeExplorer = OutlookApp.ActiveExplorer();
if (activeExplorer != null && nameSpace != null)
{
Outlook.MAPIFolder defaultFolder = nameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
Outlook.MAPIFolder contactFolder = nameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);
Outlook.MAPIFolder currentFolder = activeExplorer.CurrentFolder;
if (currentFolder != null && defaultFolder != null && defaultFolder != contactFolder)
{
this.CommandBarsObj = activeExplorer.CommandBars;
AddinExpress.MSO.ADXCommandBar menuBar = this.FindCommandBarObj("Tools") as AddinExpress.MSO.ADXCommandBar;
if (menuBar != null)
{
if (menuBar.Controls.Count > 0)
{
AddinExpress.MSO.ADXCommandBarControl newButton = null;
try
{
newButton = (AddinExpress.MSO.ADXCommandBarControl)activeExplorer.CommandBars.FindControl(AddinExpress.MSO.ADXMsoBarType.adxMsoBarTypeMenuBar, (object)30007, Type.Missing, Type.Missing);
if (newButton == null)
{
//menuBar.Reset();
menuBar.Protection = AddinExpress.MSO.ADXMsoBarProtection.adxMsoBarNoProtection;
if (adxToolsCommandBar == null)
{
adxToolsCommandBar = new AddinExpress.MSO.ADXCommandBar();
adxToolsCommandBar.CommandBarObj = menuBar;
}
else
{
adxToolsCommandBar.Controls.Clear();
}
AddinExpress.MSO.ADXCommandBarButton adxNewButton = new AddinExpress.MSO.ADXCommandBarButton();
adxNewButton.ControlTag = "Packet8ToolBar";
adxNewButton.Before = 0;
adxNewButton.Temporary = true;
adxNewButton.BeginGroup = true;
adxNewButton.Style = AddinExpress.MSO.ADXMsoButtonStyle.adxMsoButtonCaption;
adxNewButton.Caption = "Packet8 Logon";
adxNewButton.Click += new AddinExpress.MSO.ADXClick_EventHandler(DoClick);
if (adxToolsCommandBar.Controls.Add(adxNewButton) != null)
{
//The following two line cannot be compiled:
adxNewButton.ControlObj = menuBar.Controls.Add(AddinExpress.MSO., "Packet8ToolBar", 0, 0, true);
adxNewButton.UpdateControlObj(this);
}
}
else
Marshal.ReleaseComObject(newButton);
}
catch
{
}
}
Marshal.ReleaseComObject(menuBar);
}
this.CommandBarsObj = null;
Marshal.ReleaseComObject(defaultFolder);
Marshal.ReleaseComObject(currentFolder);
}
Marshal.ReleaseComObject(nameSpace);
Marshal.ReleaseComObject(activeExplorer);
}
}
private void DoClick(object sender)
{
MessageBox.Show((sender as AddinExpress.MSO.ADXCommandBarControl).Caption, AddinName);
}
|
|
Sergey Grischenko
Add-in Express team
Posts: 7235
Joined: 2004-07-05
|
|