通常,我需要在通过对话框模板和CreateDialogIndirect生成对话框后向对话框添加控件.在这些情况下,Tab键顺序由对话框模板设置,并且没有明显的方法可以通过包含新创建的控件来更改Tab键顺序.
我最近发现你可以使用SetWindowPos来实现这一目标.确定要在Tab键顺序中插入新控件的控件,然后像这样使用SetWindowPos:
SetWindowPos(hNewControl, hOldControl, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);
这会更改控件的z顺序,而控件又会建立Tab键顺序.