键盘选项卡停止在Windows GUI上工作 我有一个微软GUI C++中的Windows GUI,当用户执行某一组操作时,从小部件到小部件的键盘选项卡停止工作。
简单地说,有两个列表框,带有添加和删除按钮。在列表框#1中选择一行并按“添加”按钮可将对象从列表框#1中移除,并将其移动到列表框#2。我看到的问题是,键盘选项卡功能消失了,因为选项卡焦点在add按钮上,当add回调完成时,该按钮变得不敏感(因为当前没有选择列表框#1中的任何行)键盘选项卡停止在Windows GUI上工作 我有一个微软GUI C++中的Windows GUI,当用户执行某一组操作时,从小部件到小部件的键盘选项卡停止工作。,c++,windows,user-interface,dialog,focus,C++,Windows,User Interface,Dialog,Focus,简单地说,有两个列表框,带有添加和删除按钮。在列表框#1中选择一行并按“添加”按钮可将对象从列表框#1中移除,并将其移动到列表框#2。我看到的问题是,键盘选项卡功能消失了,因为选项卡焦点在add按钮上,当add回调完成时,该按钮变得不敏感(因为当前没有选择列表框#1中的任何行) 我希望能够将制表符焦点重新设置为listbox#1(但不是特定行的选择)。有什么办法吗?我相信我是以标准模式对话框运行的。如果我理解正确,您只需将焦点设置回其中一个列表框即可。由于这是在对话框中,建议您向列表框的hWnd
我希望能够将制表符焦点重新设置为listbox#1(但不是特定行的选择)。有什么办法吗?我相信我是以标准模式对话框运行的。如果我理解正确,您只需将焦点设置回其中一个列表框即可。由于这是在对话框中,建议您向列表框的hWnd发送消息,而不是调用:
void SetDialogFocus(HWND hdlg, HWND hwndControl)
{
SendMessage(hdlg, WM_NEXTDLGCTL, (WPARAM)hwndControl, TRUE);
}
这种风格的界面总是让我觉得笨重。您是否考虑过使用LVS_EX_复选框的单一列表视图,以便只选中/关闭项目?同意……这可能是后来的“增强”。(我继承了这个接口)是的,看起来它会工作……让我试试。对旧事物和新事物的解释看起来很可靠。