C++ 设置HWND TXT颜色

C++ 设置HWND TXT颜色,c++,winapi,visual-c++,C++,Winapi,Visual C++,我正在尝试为我的win32 api中的1个HWND指定颜色。。 到目前为止,我设法为txt/background添加了颜色,但这适用于我拥有的所有静态HWNDs,如下所示: HWND txtview1 HWND txtview2 HDC hdcStatic = (HDC)wParam; case WM_CTLCOLORSTATIC: SetTextColor(hdcStatic, RGB(0, 0, 150)); SetBkColor(hdcStatic, RGB(0, 23

我正在尝试为我的win32 api中的1个
HWND
指定颜色。。 到目前为止,我设法为txt/background添加了颜色,但这适用于我拥有的所有静态
HWND
s,如下所示:

HWND txtview1
HWND txtview2

HDC hdcStatic = (HDC)wParam;

case WM_CTLCOLORSTATIC:
    SetTextColor(hdcStatic, RGB(0, 0, 150));
    SetBkColor(hdcStatic, RGB(0, 230, 0));
    return (INT_PTR)CreateSolidBrush(RGB(255, 0255, 255));
    break;
我知道它适用于wParam,这就是全部。。 但我想将其应用于一个名为(txtview1)的单个HWND,而不是应用于txtview2 我试过:


但是它不起作用,任何提示都非常感谢。

您需要通过检查lParam是否等于所需的HWND来处理此消息

if ( (HWND)lParam == txtview1 )

否则,只需返回DefWindowProc,您需要通过检查lParam是否等于所需的HWND来处理此消息

if ( (HWND)lParam == txtview1 )

否则,请返回DefWindowProc

请参阅此处的“如何正确格式化您的帖子”。这次我是为你做的。再看一遍文档。
WM_CTLCOLORSTATIC
消息还有第二个参数。另外,你正在漏刷。可能的重复请参考如何正确格式化你的文章在这里。这次我是为你做的。再看一遍文档。
WM_CTLCOLORSTATIC
消息还有第二个参数。还有,你的刷子漏了。我的天啊,可能是重复的,成功了。我花了6个小时才弄明白这条线,谢谢你,亚历山大。哦,天哪,成功了。我花了6个小时才弄明白这条线,谢谢你,亚历山大。