A Microsoft Outlook email forum. Outlook Banter

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.

Go Back   Home » Outlook Banter forum » Microsoft Outlook Email Newsgroups » Add-ins for Outlook
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Creating a command bar on an Inspector



 
 
Thread Tools Search this Thread Display Modes
  #1  
Old June 13th 07, 12:06 AM posted to microsoft.public.outlook.program_addins
bstrum
external usenet poster
 
Posts: 19
Default Creating a command bar on an Inspector

I am trying to create a command bar in the NewInspector event. The code
seems to be working fine on Office 2003 and 2007 but throws an exception in
Office XP when I access the CommandBars.Add function. Any ideas why?

Other things I am noticing are
- CommandBar.FindControl always seems to return null.

- Under office xp, adding controls to an already existing command bar (such
as Standard) persists even when restarting outlook. This is not the case
under 2003 and 2007 as the buttons need to be recreated each time. Any
workarounds for this?

Thank you,

Benjamin Strum
ThinkTron Corp.
Ads
  #2  
Old June 13th 07, 04:16 PM posted to microsoft.public.outlook.program_addins
Ken Slovak - [MVP - Outlook]
external usenet poster
 
Posts: 5,848
Default Creating a command bar on an Inspector

NewInspector provides a weak object reference and should not be used for
creating UI. Wait for the first Activate event. In fact in Outlook 2007 this
is even more important than in earlier versions.

Always add any UI with the Temporary argument set to true. When you get the
Inspector.Close (or Item.Close since one or the other may not fire depending
on how the item is closed) also delete your UI.

--
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
...
I am trying to create a command bar in the NewInspector event. The code
seems to be working fine on Office 2003 and 2007 but throws an exception
in
Office XP when I access the CommandBars.Add function. Any ideas why?

Other things I am noticing are
- CommandBar.FindControl always seems to return null.

- Under office xp, adding controls to an already existing command bar
(such
as Standard) persists even when restarting outlook. This is not the case
under 2003 and 2007 as the buttons need to be recreated each time. Any
workarounds for this?

Thank you,

Benjamin Strum
ThinkTron Corp.


  #3  
Old June 13th 07, 08:25 PM posted to microsoft.public.outlook.program_addins
bstrum
external usenet poster
 
Posts: 19
Default Creating a command bar on an Inspector

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

"Ken Slovak - [MVP - Outlook]" wrote:

NewInspector provides a weak object reference and should not be used for
creating UI. Wait for the first Activate event. In fact in Outlook 2007 this
is even more important than in earlier versions.

Always add any UI with the Temporary argument set to true. When you get the
Inspector.Close (or Item.Close since one or the other may not fire depending
on how the item is closed) also delete your UI.

--
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
...
I am trying to create a command bar in the NewInspector event. The code
seems to be working fine on Office 2003 and 2007 but throws an exception
in
Office XP when I access the CommandBars.Add function. Any ideas why?

Other things I am noticing are
- CommandBar.FindControl always seems to return null.

- Under office xp, adding controls to an already existing command bar
(such
as Standard) persists even when restarting outlook. This is not the case
under 2003 and 2007 as the buttons need to be recreated each time. Any
workarounds for this?

Thank you,

Benjamin Strum
ThinkTron Corp.



  #4  
Old June 14th 07, 05:14 PM posted to microsoft.public.outlook.program_addins
Ken Slovak - [MVP - Outlook]
external usenet poster
 
Posts: 5,848
Default Creating a command bar on an Inspector

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


  #5  
Old June 14th 07, 11:05 PM posted to microsoft.public.outlook.program_addins
bstrum
external usenet poster
 
Posts: 19
Default Creating a command bar on an Inspector

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



  #6  
Old June 15th 07, 03:52 PM posted to microsoft.public.outlook.program_addins
Ken Slovak - [MVP - Outlook]
external usenet poster
 
Posts: 5,848
Default Creating a command bar on an Inspector

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
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
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


All times are GMT +1. The time now is 12:43 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2025 Outlook Banter.
The comments are property of their posters.