// Handles control menu commands and system buttons (Minimize etc) void CChildFrame::OnSysCommand(UINT nID, LONG lParam) { CMDIChildWndEx::OnSysCommand(nID, lParam); CHexEditApp *aa = dynamic_cast<CHexEditApp *>(AfxGetApp()); nID &= 0xFFF0; if (nID == SC_MINIMIZE || nID == SC_RESTORE || nID == SC_MAXIMIZE || nID == SC_NEXTWINDOW || nID == SC_PREVWINDOW || nID == SC_CLOSE) { if ((nID == SC_NEXTWINDOW || nID == SC_PREVWINDOW || nID == SC_CLOSE) && aa->recording_ && aa->mac_.size() > 0 && (aa->mac_.back()).ktype == km_focus) { // Next win, prev. win, close win cause focus change which causes a km_focus // for a particular window to be stored. On replay, we don't want to // change to this window before executing this command. aa->mac_.pop_back(); } aa->SaveToMacro(km_childsys, nID); } }