c++ - 更改选项卡颜色中的静态背景 C++

标签 c++ winapi widget

我有创建标签

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_CTLCOLORSTATIC 消息。如果您对选项卡控件进行子类化,您可以捕获此消息并修改其颜色。但是请注意,在启用视觉样式的情况下,选项卡控件不是单一的单一颜色 - 它更像是一种渐变,因此即使返回匹配的纯色也不一定看起来那么好。

关于c++ - 更改选项卡颜色中的静态背景 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12154185/

相关文章:

c++ - 从模板继承,继承类的成员类作为模板参数

C++ 指针数组

c++ - STM_SETIMAGE 不会使静态控件无效/重新绘制

winapi - 在 Win32 OpenGL 中更新场景的正确方法是什么

qt - 关于 Qt 4 中的删除、移除小部件和布局

c++ - 使用 C++/Obj-C 创建小部件?

c++ - 如何在 C++ 中创建包含从 0 到 N 的元素的行 vector ?

C++:未定义对命名空间中函数的引用

PyDev 中的 Python "unresolved import"但在命令行中找到

jquery - jquery 小部件上的命名空间应该使用什么?