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

如何使“子对话框”(及其子控件,如复选框/轨迹栏/单选按钮/静态控件)的背景颜色透明(与选项卡控件的背景颜色匹配)?
谢谢你。