繁体   English   中英

彩色复选框,组合框等

[英]Colored Checkbox, Group box and etc

我用这种方式着色静态标签:

case WM_CTLCOLORSTATIC:
{
    DWORD CtrlID = GetDlgCtrlID((HWND)lParam); //Window Control ID

    if(OptionColored)
    {
        HDC hdcStatic = (HDC) wParam;
        SetTextColor(hdcStatic, RGB(255,255,255));
        SetBkColor(hdcStatic, RGB(70,70,70));
        return (INT_PTR)hBrush;
    }
}

现在,我如何为复选框和组框着色?

编辑:当我尝试使用此代码更改颜色时,后台工作。 文字颜色没有。

尝试播放这些消息:

WM_CTLCOLORBTN
WM_CTLCOLOREDIT
WM_CTLCOLORDLG
WM_CTLCOLORLISTBOX
WM_CTLCOLORSCROLLBAR
WM_CTLCOLORSTATIC //You are already using

我知道您需要处理WM_CTLCOLORBTN颜色复选框, 但不确定它是哪一个用于组合框。 它也适用于从CButton继承的组合框

在您的代码中也注意到您正在检查( OptionColored ),不确定那是什么,但您需要检查消息是否针对您想要的控件颜色。

所以不需要检查if(OptionColored) ,你需要这样的东西:

DWORD CtrlID = GetDlgCtrlID((HWND)lParam));
if (CtrlID == IDC_STATIC1) //If desired control
    {
       //Color my STATIC CONTROLE
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM