我正在创建一个带有选项卡控件的对话框。每个选项卡都应该显示不同的控件集,因此我在资源编辑器中创建了子对话框以表现得像页面。
我已经使用这篇文章中的说明来做到这一点。
在资源编辑器中,我制作了没有边框的对话框,将它们的样式设置为Child
,删除了系统菜单,并设置了标志Control
和。Control Parent
true
在我的子对话框程序中,我WM_INITDIALOG
通过添加EnableThemeDialgTexture(handleOfmyDialog, ETDT_ENABLETAB);
和返回TRUE
. 否WM_ERASEBKGND
,WM_PAINT
或WM_CTLCOLORDLG
已被覆盖。
在包含选项卡控件的主对话框中,我创建了具有CreateDialog
功能的“子对话框”,并习惯于MoveWindow
正确定位它们。
我没有用来销毁orEndDialog
上的“子对话框” ,我认为它们会自动销毁。IDCANCEL
WM_CLOSE
我已经在 Windows 8.1 上使用 Visual Studio 2013 来完成这一切。
在 Windows 7 和 Windows 8.1 上似乎没有问题,但也许我的眼睛在和我开玩笑,因为选项卡控件的背景颜色与对话框的默认背景颜色相似。该问题在 Windows XP 上最为明显,如下图所示:
如何使“子对话框”(及其子控件,如复选框/轨迹栏/单选按钮/静态控件)的背景颜色透明(与选项卡控件的背景颜色匹配)?
谢谢你。