void TreePropertySheet::addTree() { // Insert the space to the left CRect rcWindow,rcPage; HWND page = IndexToHwnd(this->m_psh.nStartPage); ::GetWindowRect(page, &rcPage); ::MapWindowPoints(NULL, m_hWnd, (LPPOINT)&rcPage, 2); CRect rc(SPACE_LEFT, rcPage.top, TREE_WIDTH, rcPage.bottom + 30); ctrlTree.Create(m_hWnd, rc, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | TVS_TRACKSELECT, WS_EX_CLIENTEDGE, IDC_PAGE); if(SETTING(USE_EXPLORER_THEME)) { SetWindowTheme(ctrlTree.m_hWnd, L"explorer", NULL); } ctrlTree.SetImageList(ResourceLoader::settingsTreeImages, TVSIL_NORMAL); }
void TreePropertySheet::addTree() { // Insert the space to the left CRect rcWindow,rcPage; HWND page = IndexToHwnd(0); ::GetWindowRect(page, &rcPage); ::MapWindowPoints(NULL, m_hWnd, (LPPOINT)&rcPage, 2); CRect rc(SPACE_LEFT, rcPage.top, TREE_WIDTH, rcPage.bottom); ctrlTree.Create(m_hWnd, rc, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_SHOWSELALWAYS | TVS_DISABLEDRAGDROP | TVS_TRACKSELECT, WS_EX_CLIENTEDGE, IDC_PAGE); if(BOOLSETTING(USE_EXPLORER_THEME) && ((WinUtil::getOsMajor() >= 5 && WinUtil::getOsMinor() >= 1) //WinXP & WinSvr2003 || (WinUtil::getOsMajor() >= 6))) //Vista & Win7 { SetWindowTheme(ctrlTree.m_hWnd, L"explorer", NULL); } ctrlTree.SetImageList(tree_icons, TVSIL_NORMAL); }
void TreePropertySheet::hideTab() { CRect rcClient, rcTab, rcPage, rcWindow; CWindow tab = GetTabControl(); CWindow page = IndexToHwnd(this->m_psh.nStartPage); GetClientRect(&rcClient); tab.GetWindowRect(&rcTab); page.GetClientRect(&rcPage); page.MapWindowPoints(m_hWnd,&rcPage); GetWindowRect(&rcWindow); ::MapWindowPoints(NULL, m_hWnd, (LPPOINT)&rcTab, 2); ScrollWindow(SPACE_LEFT + TREE_WIDTH + SPACE_MID-rcPage.left, SPACE_TOP-rcPage.top); rcWindow.right += SPACE_LEFT + TREE_WIDTH + SPACE_MID - rcPage.left - (rcClient.Width()-rcTab.right) + SPACE_RIGHT; rcWindow.bottom += SPACE_TOP - rcPage.top; tab.ShowWindow(SW_HIDE); MoveWindow(&rcWindow, TRUE); tabContainer.SubclassWindow(tab.m_hWnd); }