![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
![]()
Sorry, "dispid's" are the dispatch ids that are exposed via IDispatch. I was
able to hack it by trying various values: 0xf001= Activated 0xf006 = Deactivated 0xf008 = Closed I am making some progress on what should really be a trivial task: creating controls on a toolbar. I am still encountering problems and of course they vary from office version. Any assistance / insight on this is greatly appreciated. Note: All of the problems are occuring within the Inspector-Activated event. Also, all my code uses late binding. In Office XP, I am not able to access Inspector.CommandBars. I get an exception, "Exception has been thrown by the target of an invocation.". In Office 2003, I am unable to set the Picture property of a newly created CommandBarControl. MO.CommandBarControls ctls = the controls of a newly created command bar MO.CommandBarControl ctl = ctls["Options"]; System.Drawing.Image img = CommonImages.logo; ctl.Picture = StdOleUtils.GettIPictureDispFromPicture(img); // throws exception In Office 2007, the above code throws an exception on the first activate event but not afterwards. Benjamin Strum ThinkTron Corporation "Ken Slovak - [MVP - Outlook]" wrote: I don't think there's a difference in compatibility unless you're supporting Outlook 2000. I have no idea what you mean by the dispid's for those events, or why you would need that. Activate gets called many times. It may fire 2 or 3 times the first time the item is activated, and then each time the focus returns to that item. Just use a flag to test for the first Activate or to test for the UI having been created. Since there are also cases where that first Activate will not fire you usually back that up with a check in a handler for OnSelectionChange, which will fire in those cases and there you also check for the UI creation. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003 Reminder Manager, Extended Reminders, Attachment Options http://www.slovaktech.com/products.htm "bstrum" wrote in message ... Couple questions: 1) Should I use InspectorEvents or InspectorEvents_10? I.e., which one ensures maximum compatiblity? 2) What are the dispids for Activate, Deactivate and Closed? 3) Does Activate get called multiple times for a specific mailitem? Thank you, Benjamin Strum ThinkTron Corporation |
#2
|
|||
|
|||
![]()
I really don't understand why you're using late binding. You can subscribe
to the events such as Activate using early binding and that works on all versions. I have no experience with how you're doing things so I can't really help. I use early binding on the various events and never have version problems with Activate. When using early binding you reference the earliest tlb you want to use and that just works with later versions. It's not so cut and dried with managed code, there the signatures of things have changed and unless you use the Outlook 2003 PIA's that support both that version and Outlook 2007 you need separate addins for earlier versions. I never use IDispatch to handle events, so there I can't help you. -- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003 Reminder Manager, Extended Reminders, Attachment Options http://www.slovaktech.com/products.htm "bstrum" wrote in message ... Sorry, "dispid's" are the dispatch ids that are exposed via IDispatch. I was able to hack it by trying various values: 0xf001= Activated 0xf006 = Deactivated 0xf008 = Closed I am making some progress on what should really be a trivial task: creating controls on a toolbar. I am still encountering problems and of course they vary from office version. Any assistance / insight on this is greatly appreciated. Note: All of the problems are occuring within the Inspector-Activated event. Also, all my code uses late binding. In Office XP, I am not able to access Inspector.CommandBars. I get an exception, "Exception has been thrown by the target of an invocation.". In Office 2003, I am unable to set the Picture property of a newly created CommandBarControl. MO.CommandBarControls ctls = the controls of a newly created command bar MO.CommandBarControl ctl = ctls["Options"]; System.Drawing.Image img = CommonImages.logo; ctl.Picture = StdOleUtils.GettIPictureDispFromPicture(img); // throws exception In Office 2007, the above code throws an exception on the first activate event but not afterwards. Benjamin Strum ThinkTron Corporation |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Creating a menu or command button in Outlook | salad | Outlook and VBA | 6 | April 9th 07 04:26 AM |
inspector.ShowFormPage | Steffen Heinzl | Add-ins for Outlook | 1 | November 16th 06 08:34 PM |
how to find out, that inspector window contain command bar or not | Ram | Add-ins for Outlook | 1 | May 30th 06 03:17 PM |
Inspector outdated | DanielH | Outlook and VBA | 4 | May 4th 06 07:53 PM |
Help! Inspector.Close is fired before Inspector.Activate handler finishes | Sergey Anchipolevsky | Add-ins for Outlook | 8 | February 9th 06 10:51 AM |