void Explorerplusplus::CreateFolderControls(void) { TCHAR szTemp[32]; UINT uStyle = WS_CHILD|WS_CLIPSIBLINGS|WS_CLIPCHILDREN; if(m_bShowFolders) uStyle |= WS_VISIBLE; LoadString(m_hLanguageModule,IDS_FOLDERS_WINDOW_TEXT,szTemp,SIZEOF_ARRAY(szTemp)); m_hHolder = CreateHolderWindow(m_hContainer,szTemp,uStyle); SetWindowSubclass(m_hHolder,TreeViewHolderProcStub,0,(DWORD_PTR)this); m_hTreeView = CreateTreeView(m_hHolder,WS_CHILD|WS_VISIBLE|TVS_SHOWSELALWAYS| TVS_HASBUTTONS|TVS_EDITLABELS|TVS_HASLINES|TVS_TRACKSELECT); SetWindowTheme(m_hTreeView,L"Explorer",NULL); SetWindowLongPtr(m_hTreeView,GWL_EXSTYLE,WS_EX_CLIENTEDGE); m_pMyTreeView = new CMyTreeView(m_hTreeView,m_hContainer,m_pDirMon,m_hTreeViewIconThread); /* Now, subclass the treeview again. This is needed for messages such as WM_MOUSEWHEEL, which need to be intercepted before they reach the window procedure provided by CMyTreeView. */ SetWindowSubclass(m_hTreeView,TreeViewSubclassStub,1,(DWORD_PTR)this); LoadString(m_hLanguageModule,IDS_HIDEFOLDERSPANE,szTemp,SIZEOF_ARRAY(szTemp)); m_hFoldersToolbar = CreateTabToolbar(m_hHolder,FOLDERS_TOOLBAR_CLOSE,szTemp); }
void Explorerplusplus::InitializeTabs(void) { /* The tab backing will hold the tab window. */ CreateTabBacking(); if(m_bForceSameTabWidth) { TabCtrlStyles |= TCS_FIXEDWIDTH; } m_hTabCtrl = CreateTabControl(m_hTabBacking,TabCtrlStyles); /* TODO: The image list is been leaked. */ HIMAGELIST himlSmall = ImageList_Create(16,16,ILC_COLOR32|ILC_MASK,0,100); AddDefaultTabIcons(himlSmall); TabCtrl_SetImageList(m_hTabCtrl,himlSmall); /* TODO: Needs to be freed when closing. */ m_pTabContainer = new CTabContainer(m_hTabCtrl,m_pShellBrowser,this); CTabDropHandler *pTabDropHandler = new CTabDropHandler(m_hTabCtrl,m_pTabContainer); RegisterDragDrop(m_hTabCtrl,pTabDropHandler); pTabDropHandler->Release(); SetWindowSubclass(m_hTabCtrl,TabSubclassProcStub,0,reinterpret_cast<DWORD_PTR>(this)); /* Create the toolbar that will appear on the tab control. Only contains the close button used to close tabs. */ TCHAR szTabCloseTip[64]; LoadString(m_hLanguageModule,IDS_TAB_CLOSE_TIP,szTabCloseTip,SIZEOF_ARRAY(szTabCloseTip)); m_hTabWindowToolbar = CreateTabToolbar(m_hTabBacking,TABTOOLBAR_CLOSE,szTabCloseTip); }