Я хочу сделать недействительным окно при его создании. Как я могу это сделать? вызов InvalidateRect во время WM_CREATE не работает.
Дело в том, что я вызываю SetWindowLongPtr в WM_CREATE и устанавливаю 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;
но не сработало.
Заранее спасибо