在通过对话框模板和 CreateDialogIndirect 生成对话框后,我经常需要向对话框添加控件。在这些情况下,tab 顺序由对话框模板设置,并且没有明显的方法可以通过包含新创建的控件来更改 tab 顺序。
Karim
问问题
8368 次
2 回答
18
我最近发现您可以使用 SetWindowPos 来完成此操作。确定要在哪个控件之后按 Tab 键顺序插入新控件,然后像这样使用 SetWindowPos:
SetWindowPos(hNewControl, hOldControl, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
这会更改控件的 z 顺序,从而建立 Tab 键顺序。
于 2008-09-08T17:34:11.130 回答
0
我知道这是一个老问题,但这里是如何在编译时做到这一点(这在绝大多数情况下是可取的):http: //msdn.microsoft.com/en-us/library/7039hzb0 (v=vs .80).aspx
我最喜欢的方法:
- 从“视图”菜单中,选择“跳位顺序”。
- 选择交互式分配。
- 双击要成为 Tab 键顺序中第一个控件的控件旁边的 Tab 键顺序框。
- 单击其他每个控件的选项卡顺序框。
- 单击表单上的任意位置以保存更改并退出 Tab Order 模式,或按 ESC 退出 Tab Order 模式而不保存更改。
于 2011-07-11T18:07:45.693 回答