【发布时间】:2011-05-08 23:15:03
【问题描述】:
我在 OnInitDialog 中通过代码创建了一个控件,但是我找不到任何方法来通过代码更改对话框的 Tab 键顺序。
有人知道怎么做吗?
【问题讨论】:
-
...除了重复的错误。
我在 OnInitDialog 中通过代码创建了一个控件,但是我找不到任何方法来通过代码更改对话框的 Tab 键顺序。
有人知道怎么做吗?
【问题讨论】:
在 Visual Studio 的资源视图中使用 ctrl+d。并更改标签顺序
一个更简单的解决方案是更改 .rc 文件中的控件顺序...这将同时更改您的 tab 顺序和 z 顺序。
例如。
此对话框将首先具有 Tab Order IDOK,然后是 IDCANCEL
现在如果你把它改成
IDD_ABOUT DIALOG DISCARDABLE 0, 0, 239, 66 样式 DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU 标题“我的关于框” 字体 8,“MS 无衬线字体” 开始 按钮“&取消”,IDCANCEL,174,35,50,14 DEFPUSHButton "&OK",IDOK,174,18,50,14 结尾这将有标签顺序IDCANCEL首先然后IDOK
【讨论】:
对话框上控件的 Tab 键顺序由这些控件的 Z-Order 控制。因此,要更改 Tab 键顺序,请更改相关控件的 z 顺序位置。
您可以使用 SetWindowPos 更改 z 顺序。例如,请参阅this。
【讨论】: