Using 19.2, I have an app with a ribbon that has a custom control hosting an UltraTextEditor. When the focus is in this control and the user presses the ALT key sometimes the ribbon shortcuts are not shown, and the application File menu is shown instead (even though Ribbon.FileMenuStyle is set to None)
I have verified that the custom control does receive the WM_SYSKEYDOWN with keyData == Menu | Alt
I have another app that has a ribbon with no custom controls and it always works as expected (ALT shows ribbon shortcuts).
This seems bug-like, but I'm wondering if there is a way I could just work around it by forcing the shortcuts to appear in the ribbon? Is there even an API to do that?
Hi Tihomir,
If you completely remove the ProcessCmdKey override the same thing still happens. When the focus is in that control and you press ALT the menu still shows up. Yes, you could process the message and prevent it from being delivered to its parent but then you don't get the ribbon shortcuts displayed. So if there is an API to force the ribbon shortcuts to be displayed that would work for us.
Hello Todd,
By default the custom control in your application is not related to the UltraToolBars since it derives from UserControl, which is the reason it has different default behavior related to pressing alt. I am currently looking for a workaround how to hook the alt key to trigger ToolBars shortcuts to appear.
Should you have any questions in the meantime, please let me know.
Sincerely,Tihomir TonevAssociate Software DeveloperInfragistics
Hello,
The problem appears to be that the ControlContainerTool is being activated when the contained control is given focus, which is also what is causing the orange highlighting. Once the menu is shown and the tool is no longer considered active, keytips can be shown.
In order to avoid that, you can hook to the BeforeTooltActivate() event on the UltraToolbarsManager, and cancel the activation of the ControlContainerTool:
That works. Thanks!
Glad to hear that that the issue has been resolved.
Thank you for using Infragistics Components.