void CMainDlg::OnSysCommand(UINT nID, CPoint point) { SetMsgHandled(FALSE); switch (nID & 0xFFF0) { case SC_CLOSE: SetMsgHandled(TRUE); //OnClose(); EndDialog(IDOK); return; break; case SC_RESTORE: { DWORD dwStyle = GetStyle(); if (WS_MINIMIZE == (dwStyle & WS_MINIMIZE)) break; if (WS_MAXIMIZE == (dwStyle & WS_MAXIMIZE)) { SetItemAttribute(IDC_BTN_MAX, "skin", "dlg_btn_max"); break; } } case SC_MAXIMIZE: SetItemAttribute(IDC_BTN_MAX, "skin", "dlg_btn_normal"); break; default: break; } }
LRESULT CMainDlg::OnMaxWindow() { if (WS_MAXIMIZE == (GetStyle() & WS_MAXIMIZE)) { SendMessage(WM_SYSCOMMAND, SC_RESTORE | HTCAPTION, 0); SetItemAttribute(IDC_BTN_SYS_MAX, "skin", "maxbtn"); } else { SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE | HTCAPTION, 0); SetItemAttribute(IDC_BTN_SYS_MAX, "skin", "restorebtn"); } return 0; }