Posts 1 - 10 of 15
First | Prev. | 1 2 | Next | Last
|
|
Steve Weixel
Guest
|
I'm trying to make an addin that adds a popup to the main menu in Word and Excel. I saw another forum post that said to create a ADX command bar with the built-in command bar name, and that works, for only one or the other because the names are different between Word and Excel ("Menu Bar" vs. "Worksheet Menu Bar"). I was thinking that if I could just create the command bar at runtime I could determine which name to use based on the application, but I can't get it to actually work. I can't even get any command bar to add at runtime. Am I just missing something or is it not possible? How else could I have an item on the menu (e.g. Tools) in both Excel and Word?
Thanks,
Steve |
|
Posted 04 May, 2005 18:58:45
|
|
Top
|
|
Steve Weixel
Guest
|
I should add that I'm using 2.1 because I can't get into the premium area to get the 2.2 preview :( |
|
Posted 04 May, 2005 19:01:30
|
|
Top
|
|
Aleksey Zhigar
Guest
|
To get the 2.2 preview the premium area is not necessary
http://www.add-in-express.com/downloads/
To determine a host application you are to use the HostType property of the AddinModule.
E.g. see the code below
private void AddinModule_AddinInitialize(object sender, System.EventArgs e)
{
switch(this.HostType)
{
case AddinExpress.MSO.ADXOfficeHostApp.ohaExcel:
adxCommandBar1.CommandBarName = "Worksheet Menu Bar";
break;
case AddinExpress.MSO.ADXOfficeHostApp.ohaWord:
adxCommandBar1.CommandBarName = "Menu Bar";
break;
}
}
|
|
Posted 05 May, 2005 05:35:03
|
|
Top
|
|
Steve Weixel
Guest
|
Thanks, that did it. That solves my immediate issue, but I would still like to know if it is possible to create a commandbar at runtime or can it only be done in the designer? |
|
Posted 05 May, 2005 17:39:37
|
|
Top
|
|
Aleksey Zhigar
Guest
|
At runtime you can create any number of Commandbars in the AddinInitialize event. |
|
Posted 06 May, 2005 06:40:12
|
|
Top
|
|
Steve Weixel
Guest
|
I see now what was happening... I did not have any controls in the designed, so the System.ComponentModel.Container object was not being created, and thus when I tried to create a commandbar at runtime it did nothing. As long as I have a container object it works. |
|
Posted 09 May, 2005 15:04:54
|
|
Top
|
|
Sergey Grischenko
Add-in Express team
Posts: 7233
Joined: 2004-07-05
|
Hi Steve.
You can return the System.ComponentModel.Container object in the GetContainer method of the AddinModule. See the "ADX automatic code" region of the AddinModule. Then in the AddinInitialize event handler you can create your command bars at runtime. |
|
Posted 10 May, 2005 16:22:39
|
|
Top
|
|
Steve Weixel
Guest
|
Hy Segey,
Yes, the problem is that in in InitializeComponent, the line "Me.components = New System.ComponentModel.Container" is removed if you add controls (e.g. commandbar) in the designer, then remove the controls so that there is nothing in the designer. Therefore the function GetContainer returns "components" which was never constructed. When constructing the commandbar in AddinInitialize, I do pass it GetContainer, but being nothing it causes an exception. My current solution is to make sure that I have a control in the designer, but I could just as well have constructed the "components" container in my constructor.
My add-in is a VB.net project if that helps you track down the probelm, as you must have different code generation for each language and you may not have the problem with c# projects. My issue is resolved as far as I'm concerned but I like to leave a full record of the problem and solution/workaround on forums to help others should they stumble across it.
Thanks,
Steve |
|
Posted 11 May, 2005 12:20:47
|
|
Top
|
|
Sergey Grischenko
Add-in Express team
Posts: 7233
Joined: 2004-07-05
|
Thank you Steve for your help. I think we will add some methods in ADX to manage command bars and controls at runtime.
|
|
Posted 11 May, 2005 13:10:28
|
|
Top
|
|
Sven Heitmann
Posts: 193
Joined: 2004-08-23
|
Steve, you can also add your code to the constructor directly.
InitializeCpmonent is just for the designer.Best regards,
Sven Heitmann |
|
Posted 12 May, 2005 04:08:10
|
|
Top
|
|
Posts 1 - 10 of 15
First | Prev. | 1 2 | Next | Last
|