Je viens de relire l'utilisation des 3 messages WM_SIZE, WM_MOVE et WM_WINDOWPOSCHANGED sur msdn, et je suis tombe sur ceci:
vous pouvez trouver la totalite de la doc ici.A window that must process WM_SIZE and WM_MOVE messages must pass WM_WINDOWPOSCHANGED to the DefWindowProc function; otherwise, the system does not send WM_SIZE and WM_MOVE messages to the window.
Ma question est la suivante. Doit-on retourner DefWindowProc(hwnd, WM_WINDOWPOSCHANGED, wParam, lParam) lors du traitement des messages WM_MOVE et WM_SIZE ? C'est-a-dire, avoir le code suivant :
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 LRESULT CALLBACK MainWndProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam) // second message parameter { switch (uMsg) { case WM_SIZE: // Set the size of the window. return DefWindowProc(hwnd, WM_WINDOWPOSCHANGED, wParam, lParam); case WM_MOVE: // Set the position of the window. return DefWindowProc(hwnd, WM_WINDOWPOSCHANGED, wParam, lParam); // // Process other messages. // default: return DefWindowProc(hwnd, uMsg, wParam, lParam); } return 0; }
Partager