【发布时间】:2009-03-30 20:53:10
【问题描述】:
我想在创建窗口时使其无效。我怎样才能做到这一点?在 WM_CREATE 期间调用 InvalidateRect 不起作用。
问题是我在 WM_CREATE 中调用 SetWindowLongPtr 并设置 GWLP_USERDATA。 WM_PAINT 在 USER_DATA 中查找一些指针,但是当我第一次收到 WM_PAINT 时,数据显然不在那里,所以它不会绘制我的东西。
也试过这个:
#define MyDefinedMsg (WM_APP+1)
//...//
case WM_CREATE:
//...//
SetWindowLongPtr(hWnd,GWLP_USERDATA,ptr);
PostMessage(hWnd,MyDefinedMsg,0,0);
break;
case MyDefinedMsg:
InvalidateRect(hWnd,NULL,TRUE);
break;
但没用。
提前致谢
【问题讨论】: