在Win32 API C++项目中,我有一个带有选项卡控件(3个选项卡)和3个对话框的对话框,这些对话框是选项卡控件的子项。我使用DialogBoxParam加载具有选项卡控件的主对话框,并使用CreateDialogParam从资源加载子对话框。主对话框出现在子对话框中。点击标签显示/隐藏正确的子对话框,一切工作正常。带有嵌套对话框的选项卡控件中的Tab顺序(WS_EX_CONTROLPARENT)
经过搜索周围的标签订单后,我发现WS_EX_CONTROLPARENT
风格设置在选项卡控件上,以获取选项卡工作到子对话窗口。这很好,除了一个问题:选项卡控件本身永远不会获得焦点,所以我无法通过键盘选项卡切换到不同的选项卡。键盘焦点会通过子对话框,主对话框上的按钮,然后直接返回到子对话框,并且永远不会停在选项卡控件本身上,因此我必须单击选项卡控件才能更改选项卡。这让我疯狂。有什么建议么?
更新:我设法通过完全忘掉WS_EX_CONTROLPARENT
并使该子对话框中的选项卡控件的兄弟对齐来解决该问题。唯一的副作用似乎是在重新绘制过程中控件的更多闪烁,但仍然需要一个答案,因为使选项卡的子对话框的子对象看起来更清晰。
适用于我。制作选项卡控件的子对话框的网络上的样本太多,MS在文档中没有说清楚。我已经启用了XP选项卡主题,并且它工作正常。 – Jay 2009-12-16 13:25:27