我正在尝试将其包含到我的对话框窗口过程中,当收到消息 WM_CTLCOLORSTATIC 时,我将获得发送消息的控件的 ID。
case WM_CTLCOLORSTATIC:
UINT ID = GetWindowLong((HWND)lParam, GWL_ID);
问题是...当我尝试对 WM_CTLCOLORSTATIC 的 lParam 进行类型转换时,它返回值 65535,这是不正确的;我什至没有最大 UINT ID 为 65535 的资源项。
您能告诉我发生这种情况的原因吗?
最佳答案
您的问题不是很清楚,但我猜您得到的 ID 是 65535,即 -1,这对于静态控件 ID 来说是非常标准的。
如果您希望能够区分您的静态控件,请为它们提供不同的 ID。
如果您不关心其他静态控件的颜色,只需使用:
if ( ID == IDC_RECT_CC_00 ) {
[...]
} else {
// don't bother
}
关于c++ - WM_CTLCOLORSTATIC lParam, C++ WINAPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20659207/