要调用的地方
SetTimer(g_hMainWnd,ID_GIVEUP,1000,NULL);//会给主窗口发送WM_TIMER消息;1000=1秒;ID_GIVEUP为标识
if (MessageBox(g_hMainWnd,L"确定要退出吗?",L"提示",MB_YESNO)==IDYES)
{
KillTimer(g_hMainWnd,ID_GIVEUP);
//自己的代码
}
主窗口消息处理函数:
LRESULT CALLBACK GameMainWnd::GameMainWndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
UINT nCtrlId;
PAINTSTRUCT ps;
LPCREATESTRUCT lpcs;
GameMainWnd* lpWnd = (GameMainWnd*)GetWindowLongPtr(hWnd, GWLP_USERDATA);
switch (nMsg) {
case WM_CREATE:
lpcs = (LPCREATESTRUCT)lParam;
SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR)lpcs->lpCreateParams);
break;
case WM_DESTROY:
SetWindowLongPtr(hWnd, GWLP_USERDATA, NULL);
break;
case WM_PAINT:
hdc =BeginPaint(hWnd, &ps);
lpWnd->OnPaint(hdc);
EndPaint(hWnd, &ps);
break;
case WM_SIZE:
lpWnd->