void CEditColorDlg::ShowColorInfo( void ) { char szColor[256] = { 0 }; sprintf( szColor, "#%02X%02X%02X; %d,%d,%d", GetRValue( m_uColor ), GetGValue( m_uColor ), GetBValue( m_uColor ), GetRValue( m_uColor ), GetGValue( m_uColor ), GetBValue( m_uColor ) ); SetDlgItemText( IDC_COLOR_STRING, szColor ); if( m_hBrush ) DeleteObject( m_hBrush ); m_hBrush = CreateSolidBrush( m_uColor ); CWindow ColorWnd = GetDlgItem( IDC_COLOR ); ColorWnd.RedrawWindow(); }
// unhide and display the window, if the current window is maximized make sure we // maximize the window we're unhiding. void CChildCommon::ActivateWindow( void ) { BOOL bMaximized = FALSE; CWindow ActiveWnd = g_pMainWnd->MDIGetActive(&bMaximized); CWindow ParentWnd = ActiveWnd.GetParent(); if (bMaximized) ParentWnd.SetRedraw(FALSE); g_pMainWnd->MDIActivate(m_hWnd); #ifdef USE_TABBEDMDI ::SendMessage(GetParent(), UWM_MDICHILDACTIVATIONCHANGE, (WPARAM)m_hWnd, 0); SendMessage(WM_UPDATETAB, (WPARAM)0, (LPARAM)NULL); //SetTabText("SHOWN"); #endif if(bMaximized == TRUE) { ShowWindow(SW_SHOWMAXIMIZED); ParentWnd.SetRedraw(TRUE); ParentWnd.RedrawWindow(NULL, NULL, RDW_INVALIDATE | RDW_ALLCHILDREN); } /* if (BOOLPREF(PREF_bHideNotMinimize)) { SetWindowPos(HWND_TOP,0,0,0,0,SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE | SWP_NOREDRAW ); RedrawWindow(0,0,RDW_FRAME|RDW_INVALIDATE|RDW_ERASENOW|RDW_ALLCHILDREN); } else { g_pMainWnd->MDIActivate(m_hWnd); } */ }
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; }