Tab order issues in WebViewPane with third party control

Add-in Express™ Support Service
That's what is more important than anything else

Tab order issues in WebViewPane with third party control
 
This forum has moved to a new location. From now on, please post all your questions about Add-in Express Regions on .NET and VSTO forum.
Chad Ernst




Posts: 10
Joined: 2010-04-22
We are using an Infragistics grid on a form that is placed in a WebViewPane. When we tab fr om one column to another column in the grid we have some scenarios wh ere the tab will go to other controls on the form and then tabbing again goes back to the next column in the grid. This only happens when the form is hosted in the WebViewPane.

I am hoping to provide the vendor with a sample that re-creates the problem. Since Infragistics does not have Add-in Express, I would like to try and re-create without Add-In express. I understand that the WebViewPane is hosting our form in an HTML page, so I was going to simulate that in a sample application. However, I do not know what the HTML looks like that is hosting our form. Can anyone tell me what the HTML looks like that is hosting our form and provide any information on how this hosting is done so that a sample can be created?
Posted 20 Jul, 2011 11:09:51 Top
Fedor Shihantsov


Add-in Express team


Posts: 1188
Joined: 2005-01-11
Hello Chad,

I suppose the problem is related to the WS_CHILD style of the form.
We discussed a similar Infragistics problem in the following topic:
«ADX Outlook Extensions & Infragistics combobox problem»

Please download the sample from this topic, add an Infragistics grid instead of ComboBox and try to reproduce your issue.
Posted 21 Jul, 2011 06:44:54 Top
David Keck




Posts: 10
Joined: 2010-04-22
Thanks! Using the sample application, I was able to recreate our problem. I did notice that the recent version of infragistics does have the issue that was originally reported with the combobox, so maybe there is hope that they will also address our grid issue.
Posted 21 Jul, 2011 07:33:45 Top
David Keck




Posts: 10
Joined: 2010-04-22
The following is what we heard back from Infragistics based on the sample that we provided. Is their analysis correct and if so is this something that can be changed with add-in express?


One of our engineers took a look at the sample, and has determined a fix for this issue. I've summarized below what he had to say:

This behavior is occurring due to the way that the child form is being parented. This is a problem because the child form has no reference to its parent, and because the child's TopLevel property is still set to true. That means that the child form still thinks its a top level form when it really isn't, leading to strange behavior like the issue we ran into here.

A better way to set up the parenting is to set the child form's TopLevel property to false, then add it to the Controls collection of the parent form. This removes the need for the extra code which defines the API calls, and it should fix the focus issue.

Please try this out and let me know whether tabbing works properly.
Posted 03 Aug, 2011 16:13:20 Top
Fedor Shihantsov


Add-in Express team


Posts: 1188
Joined: 2005-01-11
Unforunately, we can't add ADXOlForm to the Controls collection of the parent form because Outlook is a parent. We can't manipulate Outlook like .NET Form.

Sorry, I don't know how to help with this issue.
Posted 05 Aug, 2011 06:57:27 Top
David Keck




Posts: 10
Joined: 2010-04-22
So we get the correct behavior from the Infragistics controls if we remove the WS_CHILD from our ADXOlForm using the following code in the class constructor:

uint st yle = (uint)GetWindowLong(Handle, GWL_STYLE);
style &= ~WS_CHILD;
SetWindowLong(Handle, GWL_STYLE, style);

So far we have not found any side-effects from this change. Are there any specific issues that you are aware of that this change could cause?
Posted 05 Aug, 2011 10:17:51 Top
Fedor Shihantsov


Add-in Express team


Posts: 1188
Joined: 2005-01-11
This settings make the Outlook main window to lose activity when your ADXOlForm is activated.
Posted 08 Aug, 2011 05:12:49 Top