2

背景は変わりましたが、テキストの色は変わりませんでした。ここに私のコード:

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

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

リソースファイル:

CONTROL         "Blah Blah Blah",IDC_CHECK_CHAT,
                "Button",BS_AUTOCHECKBOX | WS_TABSTOP,24,72,137,10
4

1 に答える 1

8

まず、SetWindowThemeを使用してテーマを削除する必要があります。

HWND hwndCheckbox = GetDlgItem(_hdlg, IDC_CHECK_CHAT);
SetWindowTheme(hwndCheckbox, L"wstr", L"wstr");

テキストに色を付ける前に。

于 2013-03-05T02:21:03.787 に答える