I am creating a dialog with a tab control. Each tab should show different set of controls, so I have created child dialog boxes in resource editor to behave like pages.
I have used instructions from this post to do this.
In resource editor I made dialog boxes without border, set their styles to Child
, removed system menu, and I have set flags Control
and Control Parent
to true
.
In my child dialog box procedures I have handled WM_INITDIALOG
by adding EnableThemeDialgTexture(handleOfmyDialog, ETDT_ENABLETAB);
and returning TRUE
. No WM_ERASEBKGND
, WM_PAINT
or WM_CTLCOLORDLG
have been overridden.
In main dialog box that contains tab control, I have created "child dialogs" with CreateDialog
function, and have used MoveWindow
to properly position them.
I did not use EndDialog
to destroy "child dialogs" on IDCANCEL
or WM_CLOSE
, I think that they will get destroyed automatically.
I have used Visual Studio 2013 on Windows 8.1 to do all this.
There seems to be no problem on Windows 7 and Windows 8.1, but maybe my eyes are playing tricks with me, since the background color of the tab control is similar to the default background color of the dialog box. The problem is best seen on Windows XP, as shown on the picture below:
How can I make background color of "child dialogs" ( and their child controls like checkbox/trackbar/radio button/static control ) to be transparent ( match the background color of tab control )?
Thank you.