TAB控制ATL App,XP风格的背景

pet*_*hen 1 c++ winapi atl xp-theme

我有一个ATL应用程序,其中包含一个包含TAB控件的对话框.该应用程序使用通用控件清单.

在具有视觉样式的XP下,选项卡控件背景与对话框和控件(主要是复选框)的颜色不同,因此看起来非常难看.

截图

我该如何解决这个问题?

Chr*_*cke 5

显然,使用XP视觉样式可以使标签控件页面正确着色.

在每个页面的WM_INITDIALOG处理程序中,调用uxtheme API EnableThemeDialogTexture

使用该ETDT_ENABLETAB标志,这会自动更改对话框及其所有子控件的背景颜色,以便在选项卡上进行适当的绘制.

对话框页面不需要任何类型的透明标志,或者实际上任何样式位设置与以前不同.如果您已覆盖WM_ERASEBKGNDWM_CTLCOLORDLG在您的页面DialogProc中,您将需要恢复默认处理(返回FALSE).