A WM_CREATE message is sent to your window procedure during the window's CreateWindowEx
call. The lp
argument contains a pointer to a CREATESTRUCT
which contains the arguments passed to CreateWindowEx
. If an application returns 0 from WM_CREATE, the window is created. If an application returns -1, creation is canceled.
LRESULT CALLBACK winproc(HWND hwnd, UINT wm, WPARAM wp, LPARAM lp)
{
switch (wm) {
case WM_CREATE:
CREATESTRUCT *cs = (CREATESTRUCT *) lp;
if (MessageBox(hwnd,
"Do you want to continue creating the window?", "", MB_YESNO)
== IDYES) {
/* create window controls */
return 0;
}
/* cancel creation */
return -1;
}
return DefWindowProc(hwnd, wm, wp, lp);
}