C++ 更改选项卡颜色c和x2B中的静态背景+;
我有“创建”选项卡C++ 更改选项卡颜色c和x2B中的静态背景+;,c++,winapi,widget,C++,Winapi,Widget,我有“创建”选项卡 INITCOMMONCONTROLSEX icc; icc.dwSize = sizeof(INITCOMMONCONTROLSEX); icc.dwICC = (DWORD)ICC_TAB_CLASSES; InitCommonControlsEx(&icc); icc.dwICC = (DWORD)ICC_LISTVIEW_CLASSES; InitCommonControlsEx(&
INITCOMMONCONTROLSEX icc;
icc.dwSize = sizeof(INITCOMMONCONTROLSEX);
icc.dwICC = (DWORD)ICC_TAB_CLASSES;
InitCommonControlsEx(&icc);
icc.dwICC = (DWORD)ICC_LISTVIEW_CLASSES;
InitCommonControlsEx(&icc);
hwndTab = CreateWindow(WC_TABCONTROL,L"",WS_CHILD|WS_VISIBLE|WS_DLGFRAME|WS_CLIPSIBLINGS
,10,10,780,271,hwnd,(HMENU)3,hInstance,NULL);
TCITEM tcitem; tcitem.mask = TCIF_TEXT;
tcitem.pszText = L"Tab1";
TabCtrl_InsertItem(hwndTab,0,&tcitem);
并将静态控件放入选项卡中
CreateWindow(L"STATIC",L"Static control 1",
WS_CHILD|WS_VISIBLE,50,30,65,24,hwndTab,(HMENU)NULL,hInstance,NULL);
但是静态控制1具有灰色背景。我怎样才能给它上色呢。
谢谢因为您已将静态控件设置为选项卡的子控件,它将向选项卡控件发送WM\u CTLCOLORSTATIC消息。如果对选项卡控件进行子分类,则可以捕获此消息并修改其颜色。但是,请注意,启用视觉样式后,选项卡控件不是单一的平面颜色,而是渐变色,因此即使返回匹配的纯色也不一定看起来很好。选项卡控件并不意味着是父控件。对于每个选项卡页,您应该创建一个新的无模式对话框,并将静态控件放在其中。如果您遵守以下规则:
InitCommonControlsEx()
WS\u CLIPCHILDREN
WM\u擦除背景
WM_INITDIALOG
处理程序中调用enableMetedialogTexture()