代码之家  ›  专栏  ›  技术社区  ›  Holograham

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

  •  0
  • Holograham  · 技术社区  · 16 年前

    我有一个Windows GUI内置在微软Visual C++中,当用户执行某一组操作时,键盘标签从小部件移动到小部件停止工作。

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

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

    1 回复  |  直到 16 年前
        1
  •  2
  •   Roman Starkov    16 年前

    如果我理解正确,你只想把焦点放回列表框中的一个。因为这是在对话中,而不是调用 SetFocus , The Old New Thing 建议您向列表框的硬件发送一条消息以执行此操作:

    void SetDialogFocus(HWND hdlg, HWND hwndControl)
    {
        SendMessage(hdlg, WM_NEXTDLGCTL, (WPARAM)hwndControl, TRUE);
    }