LRESULT OnInitDialog(HWND /*wParam*/, LPARAM /*lParam*/) { CWaitCursor cursor; CenterWindow(GetParent()); if ( !m_prompt.IsEmpty() ) { SetWindowText(m_prompt); } CWindow wndPlaceholder = GetDlgItem(IDC_STATIC_PLACEHOLDER); CRect rc; wndPlaceholder.GetWindowRect(rc); ScreenToClient(rc); wndPlaceholder.DestroyWindow(); m_view.Create(*this, rc); m_view.SetDlgCtrlID(IDC_STATIC_PLACEHOLDER); m_view.SetWindowPos(HWND_TOP, rc, 0); m_view.SendMessage(CWM_RESET); m_view.Select(m_attr); m_view.Invalidate(); m_view.SetFocus(); return TRUE; }
LRESULT CSettingsDlg::OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { CWindow* pWnd; TC_ITEM tci; tci.mask = TCIF_PARAM; int cnt = m_tab_ctrl.GetItemCount(); for (int i = cnt - 1; i>=0; i--) { m_tab_ctrl.GetItem(i, &tci); pWnd = (CWindow*)tci.lParam; if(pWnd) { pWnd->DestroyWindow(); delete (CModelessDialogImpl<CWindow>*)pWnd; } } return 0; }
LRESULT CBookmarksView::OnInitDialog(HWND /*hWnd*/, LPARAM /*lParam*/) { SetMsgHandled(false); DlgResize_Init(false, false); CRect rc(0, 0, 0, 0); CWindow wndPlaceholder = GetDlgItem(IDC_BOOKMARKS_PLACEHOLDER); wndPlaceholder.GetWindowRect(rc); ScreenToClient(rc); wndPlaceholder.DestroyWindow(); const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SORTASCENDING | WS_CLIPSIBLINGS | WS_CLIPCHILDREN; if (!m_list.Create(dwViewStyle, rc, CWnd::FromHandle(m_hWnd), IDC_BOOKMARKS_PLACEHOLDER)) { TRACE0("Failed to create Class View\n"); return -1; // fail to create } m_list.SetOwner(CWnd::FromHandle(m_hWnd)); m_list.m_sortedCol = 0; m_list.m_sortAscending = false; m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT); m_list.EnableMultipleSort(true); int col = 0; m_list.InsertColumn(col++, _T("Line")); m_list.InsertColumn(col++, _T("Type")); m_list.InsertColumn(col++, _T("User")); m_list.InsertColumn(col++, _T("Module")); m_list.InsertColumn(col++, _T("Attribute")); m_list.InsertColumn(col++, _T("Attr Type")); m_list.InsertColumn(col++, _T("Description")); for (int i = 0; i < col; ++i) { m_list.SetColumnWidth(i, LVSCW_AUTOSIZE_USEHEADER); } if (!m_listMaster.Create(dwViewStyle, rc, CWnd::FromHandle(m_hWnd), IDC_BOOKMARKS_PLACEHOLDER)) { TRACE0("Failed to create Class View\n"); return -1; // fail to create } col = 0; m_listMaster.InsertColumn(col++, _T("Line")); m_listMaster.InsertColumn(col++, _T("Type")); m_listMaster.InsertColumn(col++, _T("User")); m_listMaster.InsertColumn(col++, _T("Module")); m_listMaster.InsertColumn(col++, _T("Attribute")); m_listMaster.InsertColumn(col++, _T("Attr Type")); m_listMaster.InsertColumn(col++, _T("Description")); boost::filesystem::path iniPath; GetIniPath(iniPath); CComPtr<IConfig> iniFile = CreateIConfig(QUERYBUILDER_INI, iniPath); m_checkMine = iniFile->Get(GLOBAL_BOOKMARKS_SHOWMINE); m_checkTodos = iniFile->Get(GLOBAL_BOOKMARKS_SHOWTODOS); m_checkHacks = iniFile->Get(GLOBAL_BOOKMARKS_SHOWHACKS); m_list.m_sortedCol = iniFile->Get(GLOBAL_BOOKMARKS_SORTCOLUMN); m_list.m_sortAscending = iniFile->Get(GLOBAL_BOOKMARKS_SORTASCENDING); DoDataExchange(); return 0; }
static int Run(LPTSTR /*lpstrCmdLine*/ = NULL, int nCmdShow = SW_SHOWDEFAULT) { checkCommonControls(); CMessageLoop theLoop; _Module.AddMessageLoop(&theLoop); CEdit dummy; CWindow splash; CRect rc; rc.bottom = GetSystemMetrics(SM_CYFULLSCREEN); rc.top = (rc.bottom / 2) - 80; rc.right = GetSystemMetrics(SM_CXFULLSCREEN); rc.left = rc.right / 2 - 85; dummy.Create(NULL, rc, _T(APPNAME) _T(" ") _T(VERSIONSTRING), WS_POPUP | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | ES_CENTER | ES_READONLY, WS_EX_STATICEDGE); splash.Create(_T("Static"), GetDesktopWindow(), splash.rcDefault, NULL, WS_POPUP | WS_VISIBLE | SS_USERITEM | WS_EX_TOOLWINDOW); splash.SetFont((HFONT)GetStockObject(DEFAULT_GUI_FONT)); HDC dc = splash.GetDC(); rc.right = rc.left + 350; rc.bottom = rc.top + 120; splash.ReleaseDC(dc); splash.HideCaret(); splash.SetWindowPos(NULL, &rc, SWP_SHOWWINDOW); splash.SetWindowLongPtr(GWLP_WNDPROC, reinterpret_cast<LONG_PTR>(&splashCallback)); splash.CenterWindow(); sTitle = _T(VERSIONSTRING) _T(" ") _T(CONFIGURATION_TYPE); splash.SetFocus(); splash.RedrawWindow(); WinUtil::preInit(); startup(callBack, (void*)splash.m_hWnd); if(BOOLSETTING(PASSWD_PROTECT)) { PassDlg dlg; dlg.description = TSTRING(PASSWORD_DESC); dlg.title = TSTRING(PASSWORD_TITLE); dlg.ok = TSTRING(UNLOCK); if(dlg.DoModal(/*m_hWnd*/) == IDOK){ tstring tmp = dlg.line; if (tmp != Text::toT(Util::base64_decode(SETTING(PASSWORD)))) { ExitProcess(1); } } } splash.DestroyWindow(); dummy.DestroyWindow(); if(ResourceManager::getInstance()->isRTL()) { SetProcessDefaultLayout(LAYOUT_RTL); } MainFrame wndMain; rc = wndMain.rcDefault; if( (SETTING(MAIN_WINDOW_POS_X) != CW_USEDEFAULT) && (SETTING(MAIN_WINDOW_POS_Y) != CW_USEDEFAULT) && (SETTING(MAIN_WINDOW_SIZE_X) != CW_USEDEFAULT) && (SETTING(MAIN_WINDOW_SIZE_Y) != CW_USEDEFAULT) ) { rc.left = SETTING(MAIN_WINDOW_POS_X); rc.top = SETTING(MAIN_WINDOW_POS_Y); rc.right = rc.left + SETTING(MAIN_WINDOW_SIZE_X); rc.bottom = rc.top + SETTING(MAIN_WINDOW_SIZE_Y); // Now, let's ensure we have sane values here... if( (rc.left < 0 ) || (rc.top < 0) || (rc.right - rc.left < 10) || ((rc.bottom - rc.top) < 10) ) { rc = wndMain.rcDefault; } } int rtl = ResourceManager::getInstance()->isRTL() ? WS_EX_RTLREADING : 0; if(wndMain.CreateEx(NULL, rc, 0, rtl | WS_EX_APPWINDOW | WS_EX_WINDOWEDGE) == NULL) { ATLTRACE(_T("Main window creation failed!\n")); return 0; } if(BOOLSETTING(MINIMIZE_ON_STARTUP)) { wndMain.ShowWindow(SW_SHOWMINIMIZED); } else { wndMain.ShowWindow(((nCmdShow == SW_SHOWDEFAULT) || (nCmdShow == SW_SHOWNORMAL)) ? SETTING(MAIN_WINDOW_STATE) : nCmdShow); } int nRet = theLoop.Run(); _Module.RemoveMessageLoop(); dummy.Create(NULL, rc, _T(APPNAME) _T(" ") _T(VERSIONSTRING), WS_POPUP | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | ES_CENTER | ES_READONLY, WS_EX_STATICEDGE); splash.Create(_T("Static"), GetDesktopWindow(), splash.rcDefault, NULL, WS_POPUP | WS_VISIBLE | SS_USERITEM | WS_EX_TOOLWINDOW); splash.SetFont((HFONT)GetStockObject(DEFAULT_GUI_FONT)); dc = splash.GetDC(); rc.right = rc.left + 350; rc.bottom = rc.top + 120; splash.ReleaseDC(dc); splash.HideCaret(); splash.SetWindowPos(NULL, &rc, SWP_SHOWWINDOW); splash.SetWindowLongPtr(GWLP_WNDPROC, reinterpret_cast<LONG_PTR>(&splashCallback)); splash.CenterWindow(); sTitle = TSTRING(PROCESSING); splash.SetFocus(); splash.RedrawWindow(); shutdown(callBack, (void*)splash.m_hWnd); splash.DestroyWindow(); dummy.DestroyWindow(); return nRet; }