gpt4 book ai didi

c++ - 在对话框中以编程方式更改 Tab 键顺序的其他方法

转载 作者:行者123 更新时间:2023-11-28 03:48:14 25 4
gpt4 key购买 nike

我正在尝试找出为什么我在 Windows 对话框中动态创建的一些子控件在使用 Tab 键进行导航时会乱序。在没有其他任何东西摆弄它们的情况下,顺序应该由它们添加到对话框中的顺序来定义,但是一种特定类型的子控件始终排在最后。

我知道one way重新订购它们是使用 SetWindowPos() , 使用 hWndInsertAfter参数并且不设置 SWP_NOZORDER旗帜。我相当确定我已经排除了这个重新排序的可能原因。

因此,为了进一步了解这一点以及仅供将来引用,除了 SetWindowPos() ,还有哪些其他 win32 调用可以对对话框中的现有子控件重新排序?

最佳答案

差不多就是这样 - 在标准对话框中,Tab 键顺序就是 z 顺序,只是您可以控制从 z 顺序开始的位置。如果您有几个控件总是在 Tab 键顺序的末尾结束,则说明某些东西正在操纵 z 顺序以将它们放在那里。

如果对话框或控件是非标准的,Tab 键顺序可以直接由 WndProc 操作。这通常是 bad idea , 但众所周知会不时发生。

关于c++ - 在对话框中以编程方式更改 Tab 键顺序的其他方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6685411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com