Logo
My Account |  Site Map | Contact Us  
Welcome Guest Search | Active Topics | Sign In | Register

F10 in Webbrowser Application Options
M.Kramer
Posted: Wednesday, March 6, 2019 6:59:17 AM
Rank: Advanced Member
Groups: Member

Joined: 11/3/2015
Posts: 42
Hello,

in the changelog you wrote:
Significantly improved Windows Form and WPF input integration (such as shortcuts for menu items) with EO.WebBrowser;

I think that causes a problem in my application.

If I press F10 the webview looses the focus. The MenuStrip gets it.

is it possible to turn the "improvments" off? ;)

best regards
M.Kramer
Posted: Wednesday, March 6, 2019 7:14:03 AM
Rank: Advanced Member
Groups: Member

Joined: 11/3/2015
Posts: 42
oh ... and F22 .. (shift + F10) kills the whole application.
eo_support
Posted: Wednesday, March 6, 2019 8:22:06 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 21,292
Hi,

F10 is the hotkey for activating the menu. So this is how it supposes to work. As to Shift + F10, I am not sure whether it is a hot key in your application. The rule here is if you use EO.WinForm.WebControl, then it follows Windows Forms application's rule, such as F10 activating MenuStrip or any other hot keys implemented in your application (for example, hot key for a menu item). If you do not want it to work this way, you can use WebView class directly.

Thanks!
M.Kramer
Posted: Wednesday, March 6, 2019 8:40:37 AM
Rank: Advanced Member
Groups: Member

Joined: 11/3/2015
Posts: 42
Hi,

... That means, I have to restructure my whole application ...

F22 is used in Programs running on a IBM AS400. We are using a Web API for it. So I have to handle F1 - F24 in the webview...

Btw. You can Kill your Tabbed browser with F22, too.
eo_support
Posted: Wednesday, March 6, 2019 8:53:04 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 21,292
This is how it supposes to be. If you use any other standard controls in your application, it will honor the same set of application wide shortcuts. The fact that this did not work in older version does not mean it is the right behavior. In the newer version we brought it one step closer (still not perfect) to have the same behavior as other standard controls, so we do not see any reason to roll this back to the old "wrong" behavior. What we could look into is to give you more option for you to "override" certain keys so that it does not get passed to the application. For example, the multiline textbox would not pass Enter key to the parent form so while usually Enter key would close a dialog but it would not do so if the focus is in a multi-line textbox. So we can look into it to see if there is anyway for you to catch certain keys but there is no guarantee at this point yet before we look into this thoroughly.
M.Kramer
Posted: Wednesday, March 6, 2019 9:03:54 AM
Rank: Advanced Member
Groups: Member

Joined: 11/3/2015
Posts: 42
An option would be perfekt ...

my problem is the Windows 10 Support of the Old version and the functionality of the new ...

M.Kramer
Posted: Wednesday, March 6, 2019 10:41:52 AM
Rank: Advanced Member
Groups: Member

Joined: 11/3/2015
Posts: 42
can you tell me, how you handle the F10 button?
I tried to prevent the function by using kind of this code ... but F10 does not fire it.

private const int WM_SYSCOMMAND = 0x0112;
private const int SC_KEYMENU = 0xF100;

protected override void WndProc(ref Message m)
{
if (m.Msg == WM_SYSCOMMAND)
{
if (m.WParam.ToInt32() == SC_KEYMENU)
{
m.Result = IntPtr.Zero;
return;
}
}
base.WndProc(ref m);
}
eo_support
Posted: Wednesday, March 6, 2019 10:54:32 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 21,292
M.Kramer wrote:
can you tell me, how you handle the F10 button?
I tried to prevent the function by using kind of this code ... but F10 does not fire it.

private const int WM_SYSCOMMAND = 0x0112;
private const int SC_KEYMENU = 0xF100;

protected override void WndProc(ref Message m)
{
if (m.Msg == WM_SYSCOMMAND)
{
if (m.WParam.ToInt32() == SC_KEYMENU)
{
m.Result = IntPtr.Zero;
return;
}
}
base.WndProc(ref m);
}


We do NOT provide support on such general Windows programming issues. You will need to seek other channel on such issues. Right now the status of this issue is it is working as designed, but we are open for further improvements to provide more options and flexibility. We will update this thread again if we do implement any improvements related to this issue.
M.Kramer
Posted: Thursday, March 7, 2019 3:44:06 AM
Rank: Advanced Member
Groups: Member

Joined: 11/3/2015
Posts: 42
Yes, I understand that you don't provide general Windows support.

But if I don't use EO WebViews in my application F10 and F22 doesn't cause this "Problems".
So I asked what technique you have used. I hope that will help me to find a solution.

... I know that nearly nobody uses F22 ... but without that and F10 my whole application is for trash ...

(please try F22 in your Tabbedbrowser ... Windows 10)
eo_support
Posted: Friday, March 15, 2019 7:57:37 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 21,292
Hi,

We have posted a new build that would allow you to customize this. See here for more details:

https://www.essentialobjects.com/doc/webbrowser/advanced/input_events.aspx

You can download the new build from our download page. Please take a look and let us know how it goes.

Thanks!
M.Kramer
Posted: Friday, March 15, 2019 8:54:01 AM
Rank: Advanced Member
Groups: Member

Joined: 11/3/2015
Posts: 42
Thank you very much! The first tests looks great,

you saved my weekend ;)
eo_support
Posted: Friday, March 15, 2019 1:36:48 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 21,292
Great. Glad to hear that it works for you!


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.