BOOL CMainMDIFrame::OnCommand(WPARAM wParam, LPARAM lParam) { switch (LOWORD(wParam)) { case IDM_FILE_NEW: return OnFileNew(); case IDM_FILE_CLOSE: return OnFileClose(); case IDM_FILE_OPEN: return OnFileOpen(); case IDM_FILE_SAVE: return OnFileSave(); case IDM_FILE_SAVEAS: return OnFileSave(); case IDM_FILE_PRINT: return OnFilePrint(); case IDW_VIEW_STATUSBAR: return OnViewStatusBar(); case IDW_VIEW_TOOLBAR: return OnViewToolBar(); case IDW_MDI_ARRANGE: return OnMDIIconArrange(); case IDW_MDI_CASCADE: return OnMDICascade(); case IDW_MDI_CLOSEALL: return OnMDICloseAll(); case IDW_MDI_TILE: return OnMDITile(); case IDM_FILE_EXIT: return OnFileExit(); case IDM_HELP_ABOUT: return OnHelp(); default: // Pass to active child... { if (GetActiveMDIChild()) GetActiveMDIChild()->SendMessage(WM_COMMAND, wParam, lParam); } break ; } return FALSE; }
BOOL CMainMDIFrame::OnCommand(WPARAM wParam, LPARAM lParam) { switch (LOWORD(wParam)) { case IDM_FILE_NEW: AddMDIChild(new CSimpleMDIChild); // CMDIFrame::RemoveMDIChild deletes this pointer return TRUE; case IDM_FILE_CLOSE: // Close the active MDI window GetActiveMDIChild()->SendMessage(WM_CLOSE, 0, 0); return TRUE; case IDM_FILE_OPEN: OnFileOpen(); return TRUE; case IDM_FILE_SAVE: OnFileSave(); return TRUE; case IDM_FILE_SAVEAS: OnFileSaveAs(); return TRUE; case IDM_FILE_PRINT: OnFilePrint(); return TRUE; case IDW_VIEW_STATUSBAR: OnViewStatusbar(); break; case IDW_VIEW_TOOLBAR: OnViewToolbar(); break; case IDW_WINDOW_ARRANGE: ::PostMessage (GetView()->GetHwnd(), WM_MDIICONARRANGE, 0L, 0L) ; break; case IDW_WINDOW_CASCADE: ::PostMessage (GetView()->GetHwnd(), WM_MDICASCADE, 0L, 0L) ; break; case IDW_WINDOW_CLOSEALL: RemoveAllMDIChildren(); break; case IDW_WINDOW_TILE: ::PostMessage (GetView()->GetHwnd(), WM_MDITILE, 0L, 0L) ; break; default: // Pass to active child... { if (GetActiveMDIChild()) GetActiveMDIChild()->SendMessage(WM_COMMAND, wParam, lParam); } break ; case IDM_FILE_EXIT: ::PostMessage(m_hWnd, WM_CLOSE, 0, 0); return TRUE; case IDM_HELP_ABOUT: OnHelp(); return TRUE; } return FALSE; }
void CMainMDIFrame::OnFileSave() { CSimpleMDIChild* pActive = (CSimpleMDIChild*)GetActiveMDIChild(); if (pActive!=NULL) { pActive->getDocument()->Save(); } else { // TODO: } }
void CMainMDIFrame::OnFileSaveAs() { TCHAR szFilePathName[_MAX_PATH] = _T( LiteSQL_L( "" )); OPENFILENAME ofn = {0}; ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner = m_hWnd; ofn.lpstrFile = szFilePathName; ofn.nMaxFile = _MAX_PATH; ofn.lpstrTitle = _T( LiteSQL_L( "Open File" )); // Bring up the dialog, and open the file ::GetOpenFileName(&ofn); CSimpleMDIChild* pActive = (CSimpleMDIChild*)GetActiveMDIChild(); if (pActive!=NULL) { pActive->getDocument()->SaveAs(ofn.lpstrFile); } else { // TODO: } }
BOOL CMainMDIFrame::OnFileClose() { // Close the active MDI window GetActiveMDIChild()->SendMessage(WM_CLOSE, 0, 0); return TRUE; }