#include #include #include MainFrame::MainFrame(void) { mQueryEndSessionHandler.setCallback(this,&MainFrame::queryEndSessionHandler); mCloseHandler.setCallback(this,&MainFrame::closeHandler); mCommandHandler.setCallback(this,&MainFrame::commandHandler); mCreateHandler.setCallback(this,&MainFrame::createHandler); mDestroyHandler.setCallback(this,&MainFrame::destroyHandler); insertHandler(VectorHandler::QueryEndSessionHandler,&mQueryEndSessionHandler); insertHandler(VectorHandler::CloseHandler,&mCloseHandler); insertHandler(VectorHandler::CommandHandler,&mCommandHandler); insertHandler(VectorHandler::CreateHandler,&mCreateHandler); insertHandler(VectorHandler::DestroyHandler,&mDestroyHandler); } MainFrame::~MainFrame() { removeHandler(VectorHandler::QueryEndSessionHandler,&mQueryEndSessionHandler); removeHandler(VectorHandler::CloseHandler,&mCloseHandler); removeHandler(VectorHandler::CommandHandler,&mCommandHandler); removeHandler(VectorHandler::CreateHandler,&mCreateHandler); removeHandler(VectorHandler::DestroyHandler,&mDestroyHandler); } CallbackData::ReturnType MainFrame::queryEndSessionHandler(CallbackData &someCallbackData) { if(getClient().hasChildren())return (CallbackData::ReturnType)FALSE; return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType MainFrame::destroyHandler(CallbackData &someCallbackData) { postQuitMessage(); return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType MainFrame::closeHandler(CallbackData &someCallbackData) { if(getClient().hasChildren())return (CallbackData::ReturnType)FALSE; return (CallbackData::ReturnType)FALSE; } CallbackData::ReturnType MainFrame::createHandler(CallbackData &someCallbackData) { mStatusBarEx=::new StatusBarEx(*this,getClient(),StatusControlID); mStatusBarEx.disposition(PointerDisposition::Delete); mStatusBarEx->setText("Ready"); return (CallbackData::ReturnType)TRUE; } CallbackData::ReturnType MainFrame::commandHandler(CallbackData &someCallbackData) { switch(someCallbackData.wParam()) { case IDM_CASCADE : cascade(); break; case IDM_TILE : tile(); break; case IDM_ARRANGE : arrange(); break; case IDM_CLOSEALL : closeAll(); break; case IDM_MINIMIZEALL : minimizeAll(); break; case IDM_RESTOREALL : restoreAll(); break; } return (CallbackData::ReturnType)FALSE; } void MainFrame::splash(void) { // SplashScreen splashScreen("Splash","Splash",TRUE); // splashScreen.perform(); } // *** virtuals void MainFrame::preRegister(WNDCLASS &wndClass) { wndClass.hbrBackground=(HBRUSH)::GetStockObject(GRAY_BRUSH); } void MainFrame::mdiDestroy(MDIWindow &mdiWindow) { } void MainFrame::mdiActivate(MDIWindow &mdiWindow) { } void MainFrame::mdiDeactivate(MDIWindow &mdiWindow) { }