word插件,在customui中对组合框进行KeyDown处理

本文关键字:KeyDown 处理 组合 插件 customui word | 更新日期: 2023-09-27 18:24:59

区块报价

需要有关Word加载项中CustomUI的帮助。我有

<combobox /> 

在我的自定义ui中。

如何处理用户按下输入
当用户在ComboBox中按下Enter时,我需要执行一些操作。我可以以某种方式添加KeyDown事件吗?或者可以将IRibbonControl强制转换为有用的内容吗?

更新:

决定不包含该功能。但仍然对这个问题的解决方案感兴趣。

word插件,在customui中对组合框进行KeyDown处理

即使WindowSelectionChange事件也不会对您有所帮助。它适用于其他按键,但不适用于Enter和Backspace(据我所知)。

你必须使用低级键盘挂钩

已编辑**

当按下任何一个键时都会有一个回调,它将被调用。

 private static IntPtr HookCallback(
                int nCode, IntPtr wParam, IntPtr lParam)
            {
                if (nCode >= 0 && wParam == (IntPtr) WM_KEYDOWN)
                {
                    int vkCode = Marshal.ReadInt32(lParam);
                    //Check if the enter key is pressed
                    if (vkCode == (int) Keys.Enter )
                        // Do here whatever you need
                }
                return CallNextHookEx(_hookID, nCode, wParam, lParam);
            }