//Strictly the Dialog Implementation INT_PTR CALLBACK DialogProc(HWND hDlg,UINT uMessage,WPARAM wParam,LPARAM lParam) { switch(uMessage) { case WM_INITDIALOG: InitRibbon(hDlg); return DE_InitializeDialog(hDlg); break; case WM_COMMAND: { int wmID = LOWORD(wParam); int wmEvent = HIWORD(wParam); switch(wmID) { case IDC_RESOLUTION: { switch( wmEvent ) { case CBN_SELCHANGE: CE_ResolutionSelectionChange(hDlg,(HWND)lParam); break; } } break; case IDC_SETDISPLAYMODE: { switch( wmEvent ) { case BN_CLICKED: CE_SetDisplayModeClick(hDlg); break; } } case IDC_BACKBUFFER: { switch( wmEvent ) { case CBN_SELCHANGE: CE_BackBufferSelectionChange(hDlg,(HWND)lParam); break; } } break; case IDC_DEPTHSTENCIL: { switch( wmEvent ) { case CBN_SELCHANGE: CE_DepthStencilSelectionChange(hDlg,(HWND)lParam); break; } } break; case IDC_HAL: { switch( wmEvent ) { case BN_CLICKED: devType = D3DDEVTYPE_HAL; UpdateLabelCompatibility(hDlg); break; } } break; case IDC_REF: { switch( wmEvent ) { case BN_CLICKED: devType = D3DDEVTYPE_REF; UpdateLabelCompatibility(hDlg); break; } } break; //Cancel button pressed case IDC_CANCEL: DestroyWindow(hDlg); PostQuitMessage(0); break; //Accept button pressed case IDC_ACCEPT: /* MyApp* pMyApp = MyApp::GetSingleton(); pMyApp->presentParameters = presentParameters; pMyApp->deviceType = devType; wchar_t* txt= new wchar_t[101]; GetDlgItemText(hDlg, IDC_WIDTH, txt, 100); pMyApp->presentParameters.BackBufferWidth = _wtoi(txt); GetDlgItemText(hDlg, IDC_HEIGHT, txt, 100); pMyApp->presentParameters.BackBufferHeight = _wtoi(txt); GetDlgItemText(hDlg, IDC_WWIDTH, txt, 100); pMyApp->wndWidth = _wtoi(txt); GetDlgItemText(hDlg, IDC_WHEIGHT, txt, 100); pMyApp->wndHeight = _wtoi(txt); delete[] txt;*/ DestroyWindow(hDlg); PostQuitMessage(1); break; }//End of Control ID switch return 0; }//End of Command Message case WM_KEYDOWN: { switch(wParam) { case VK_ESCAPE: DestroyWindow(hDlg); PostQuitMessage(0); break; } } case WM_DESTROY: pD3d->Release(); break; default: return false; } return true; }
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerOffice2007)); CMDITabInfo mdiTabParams; mdiTabParams.m_bTabIcons = TRUE; mdiTabParams.m_style = CMFCTabCtrl::STYLE_3D_ONENOTE; mdiTabParams.m_bAutoColor = TRUE; EnableMDITabbedGroups (TRUE, mdiTabParams); CDockingManager::SetDockingMode (DT_SMART); m_wndRibbonBar.Create (this); InitRibbon (); if (!m_wndStatusBar.Create(this) || !m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT))) { TRACE0("Failed to create status bar\n"); return -1; // fail to create } // Load control bar icons: CMFCToolBarImages imagesWorkspace; imagesWorkspace.SetImageSize (CSize (16, 16)); imagesWorkspace.SetTransparentColor (RGB (255, 0, 255)); imagesWorkspace.Load (IDB_WORKSPACE); if (!m_wndWorkSpace.Create (_T("View 1"), this, CRect (0, 0, 200, 200), TRUE, ID_VIEW_WORKSPACE, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI)) { TRACE0("Failed to create Workspace bar\n"); return FALSE; // fail to create } m_wndWorkSpace.SetIcon (imagesWorkspace.ExtractIcon (0), FALSE); if (!m_wndWorkSpace2.Create (_T("View 2"), this, CRect (0, 0, 200, 200), TRUE, ID_VIEW_WORKSPACE2, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT | CBRS_FLOAT_MULTI)) { TRACE0("Failed to create Workspace bar 2\n"); return FALSE; // fail to create } m_wndWorkSpace2.SetIcon (imagesWorkspace.ExtractIcon (1), FALSE); if (!m_wndOutput.Create (_T("Output"), this, CRect (0, 0, 150, 150), TRUE /* Has gripper */, ID_VIEW_OUTPUT, WS_CHILD | WS_VISIBLE | CBRS_BOTTOM | CBRS_FLOAT_MULTI)) { TRACE0("Failed to create output bar\n"); return -1; // fail to create } m_wndOutput.SetIcon (imagesWorkspace.ExtractIcon (2), FALSE); m_wndWorkSpace.EnableDocking(CBRS_ALIGN_ANY); m_wndWorkSpace2.EnableDocking(CBRS_ALIGN_ANY); m_wndOutput.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); EnableAutoHidePanes(CBRS_ALIGN_ANY); DockPane (&m_wndWorkSpace); m_wndWorkSpace2.AttachToTabWnd (&m_wndWorkSpace, DM_STANDARD, FALSE, NULL); DockPane(&m_wndOutput); // Enable windows manager: EnableWindowsDialog (ID_WINDOW_MANAGER, IDS_WINDOWS_MANAGER, TRUE); return 0; }