Обработка программой сообщения WM_DESTROY

code: #cpp
LRESULT APIENTRY WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) 
{ 
    BOOL bRet = FALSE;
        BOOL bCmd = FALSE;
 
        switch (msg) 
        {
                case WM_INITDIALOG:       
 
                        bRet = TRUE;
                        break;
                case WM_COMMAND:
                          bCmd = TRUE;//Чтобы занырнуть в свич команд
                          bRet = TRUE;
                          break;
                case WM_DESTROY:          /* при закрытии окна восстанавливаем старую иконку */
                        SetClassLong(hwnd,GCL_HICON,(long)OldIcon);
                        PostQuitMessage(0);
                        bRet = TRUE;
                        break;
        }
        if(bCmd == TRUE) //сюда попадём только если msg == WM_COMMAND
        switch(LOWORD(wParam))
        {
                case ID_OPEN:
 
                        break;
                case ID_ABOUT:         /* команда меню "About" */
                        MessageBoxA(hwnd,"Bla bla bla","О программе...",MB_OK | MB_ICONINFORMATION);
                        break;
                case IDCANCEL:         /* посылается при закрытии диалога по [Esc]*/
                case ID_EXIT:          /* команда меню "ВЫход" */
                        DestroyWindow(hwnd);
                        bRet = TRUE;
                        break;
        }
        return bRet;
}

автор: -=ЮрА=-

Поделиться:

Похожие статьи: