void DlgSettingsStyles::UpdateSliderText(HWND hwndSlider) { CTrackBarCtrl trackBar; CWindow wndStaticCtrl; if (hwndSlider == m_sliderActiveAlpha.m_hWnd) { trackBar.Attach(hwndSlider); wndStaticCtrl.Attach(GetDlgItem(IDC_STATIC_ACTIVE_ALPHA)); } else if (hwndSlider == m_sliderInactiveAlpha.m_hWnd) { trackBar.Attach(hwndSlider); wndStaticCtrl.Attach(GetDlgItem(IDC_STATIC_INACTIVE_ALPHA)); } else { return; } CString strStaticText; strStaticText.Format(L"%i", trackBar.GetPos()); wndStaticCtrl.SetWindowText(strStaticText); wndStaticCtrl.Detach(); trackBar.Detach(); }
void MainWindow::SetCurrentLogViewer(LogViewer &logViewer) { HWND hOldPane = m_splitter.GetSplitterPane(SPLIT_PANE_RIGHT); if (hOldPane != logViewer) { CWindow oldViewer; oldViewer.Attach(hOldPane); oldViewer.ShowWindow(SW_HIDE); logViewer.ShowWindow(SW_SHOW); m_splitter.SetSplitterPane(SPLIT_PANE_RIGHT, logViewer); } }
//The following example attaches an HWND to the CWindow object //and calls CWindow::BeginPaint() and CWindow::EndPaint() in the // WM_PAINT handler of a CWindowImpl-derived class LRESULT CMyCtrl::OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { CWindow myWindow; myWindow.Attach(m_hWnd); PAINTSTRUCT ps; HDC hDC = myWindow.BeginPaint(&ps); //Use the hDC as much as you want ::Rectangle(hDC, 0, 0, 50, 50); myWindow.EndPaint(&ps); return 0; }
void AsGroupsDlg::updateSelectedGroup(bool forceClean /*= false*/) { tstring name; bool enableButtons = false; if (ctrlGroups.GetSelectedIndex() != -1) { if (forceClean == false) { name = getText(0); } enableButtons = true; } { CWindow wnd; wnd.Attach(GetDlgItem(IDC_REMOVE)); wnd.EnableWindow(enableButtons); wnd.Detach(); wnd.Attach(GetDlgItem(IDC_UPDATE)); wnd.EnableWindow(enableButtons); wnd.Detach(); wnd.Attach(GetDlgItem(IDC_MOVE_DOWN)); wnd.EnableWindow(enableButtons); wnd.Detach(); wnd.Attach(GetDlgItem(IDC_MOVE_UP)); wnd.EnableWindow(enableButtons); wnd.Detach(); } { CEdit wnd; wnd.Attach(GetDlgItem(IDC_NAME)); wnd.SetWindowText(name.c_str()); wnd.Detach(); } }
void CSkinBase::InitSysMenu(HMENU hMenu, HWND hWnd) { // iterate all the menu items looking for something resembling a sys menu item int nItem = GetMenuItemCount(hMenu); CWindow cWnd; cWnd.Attach( hWnd ); while (nItem--) { UINT uID = GetMenuItemID(hMenu, nItem); if (uID >= 0xF000) { BOOL bEnable = TRUE; switch (uID & 0xFFF0) { case SC_MINIMIZE: bEnable = (cWnd.GetStyle() & WS_MINIMIZEBOX) && !cWnd.IsIconic(); break; case SC_MAXIMIZE: bEnable = (cWnd.GetStyle() & WS_MAXIMIZEBOX) && !cWnd.IsZoomed(); break; case SC_RESTORE: bEnable = cWnd.IsIconic() || cWnd.IsZoomed(); break; case SC_MOVE: case SC_SIZE: bEnable = !cWnd.IsIconic() && !cWnd.IsZoomed(); break; } EnableMenuItem(hMenu, uID, bEnable ? MF_ENABLED : MF_GRAYED); } } // set close as default item SetMenuDefaultItem(hMenu, SC_CLOSE, FALSE ); }
LRESULT PreviewWindow::OnCreate(HWND hwnd, WPARAM wParam, LPARAM lParam) { CWindow window; window.Attach(hwnd); CRect rcClient; window.GetWindowRect(rcClient); m_d3d = Direct3DCreate9(D3D_SDK_VERSION); D3DPRESENT_PARAMETERS d3dpp; ZeroMemory(&d3dpp, sizeof(d3dpp)); d3dpp.BackBufferFormat = D3DFMT_UNKNOWN; d3dpp.BackBufferCount = 2; d3dpp.Windowed = TRUE; d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD; d3dpp.hDeviceWindow = hwnd; d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT; HRESULT hr = m_d3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwnd, D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED, &d3dpp, &m_device); ATLASSERT(S_OK == hr); return 0; }
void CDataEntryDlg::ActiveEntryModePage(int nMode) { CTabPage* pPage = m_apPages[nMode]; if (pPage == NULL) { switch (nMode) { case 0: case 2: pPage = new CNumericEntryPage; ((CNumericEntryPage *)pPage)->m_pExpert = m_pExpert; break; case 1: break; case 3: pPage = new CPushbuttonEntryPage; ((CPushbuttonEntryPage *)pPage)->m_pExpert = m_pExpert; break; default: break; } m_apPages[nMode] = pPage; if (pPage != NULL) { CWindow winRect; winRect.Attach(GetDlgItem(IDC_RECT)); RECT rc; winRect.GetWindowRect(&rc); ScreenToClient(&rc); pPage->Create(m_hWnd); rc.bottom -= 4; pPage->MoveTo(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top); } } switch (nMode) { case 0: case 2: ((CNumericEntryPage *)pPage)->m_strScript = m_pExpert->m_strActionScript; break; case 1: break; case 3: ((CPushbuttonEntryPage *)pPage)->m_strScript = m_pExpert->m_strActionScript; break; default: break; } for (int i = 0; i < 4; i++) { pPage = m_apPages[i]; if (pPage != NULL) pPage->Show(nMode == i); } }