键盘选项卡停止在 Windows GUI 上工作

Posted

技术标签:

【中文标题】键盘选项卡停止在 Windows GUI 上工作【英文标题】:Keyboard Tabbing Stops working on Windows GUI 【发布时间】:2010-01-14 23:24:33 【问题描述】:

我有一个内置于 Microsoft Visual C++ 中的 windows gui,当用户执行一组特定操作时,从小部件移动到小部件的键盘选项卡停止工作。

简单地说,有两个带有添加和删除按钮的列表框。选择列表框#1 中的一行并按下添加按钮会从列表框#1 中删除对象并将其移动到列表框#2。我看到的问题是键盘选项卡功能消失了,因为选项卡焦点位于添加按钮上,当添加回调完成时该按钮变得不敏感(因为当前没有选择列表框 #1 中的任何行)。

我希望能够将选项卡焦点重新设置为列表框 #1(但不是特定行的选择)。有什么方法可以做到这一点?我相信我是作为标准模式对话框运行的。

【问题讨论】:

这种风格的界面对我来说总是很笨拙。您是否考虑过使用 LVS_EX_CHECKBOXES 的单个列表视图,以便您只检查项目的开/关? neowin.net/forum/index.php?showtopic=819824 同意...这可能是后来的“增强”。 (我继承了这个接口) 【参考方案1】:

如果我理解正确,您只想将焦点设置回列表框之一。由于这是在对话框中,而不是调用 SetFocus,The Old New Thing 建议您向列表框的 hWnd 发送消息来执行此操作:

void SetDialogFocus(HWND hdlg, HWND hwndControl)

    SendMessage(hdlg, WM_NEXTDLGCTL, (WPARAM)hwndControl, TRUE);

【讨论】:

是的,看起来它会起作用......让我试一试。旧新事物的解释看起来很可靠。

以上是关于键盘选项卡停止在 Windows GUI 上工作的主要内容,如果未能解决你的问题,请参考以下文章

切换uitextf时停止键盘关闭

win7开机后在屏幕上显示“loadperf.exe已停止工作”,请问解决方法

JupyterLab:在 JupyterLab 中切换下一个/上一个选项卡的键盘快捷键

excel如何检索重复内容

WINDOWS资源管理器已停止工作,故障模块msvcrt.dll?

tkinter选项卡中的滚动条无法正常工作。滚动条位于我的gui应用程序的底部,而不是覆盖整个标签