1 //////////////////////////////////////////////
\r
3 // Definitions for CViewClasses
\r
6 #include "TabDemoApp.h"
\r
8 #include "resource.h"
\r
11 ///////////////////////////////////////////////
\r
12 // CViewClasses functions
\r
13 CViewClasses::CViewClasses() : m_himlNormal(0)
\r
17 CViewClasses::~CViewClasses()
\r
19 if (IsWindow()) DeleteAllItems();
\r
20 ImageList_Destroy(m_himlNormal);
\r
23 void CViewClasses::OnInitialUpdate()
\r
25 //set the image lists
\r
26 m_himlNormal = ImageList_Create(16, 15, ILC_COLOR32 | ILC_MASK, 1, 0);
\r
27 HBITMAP hbm = LoadBitmap(MAKEINTRESOURCE(IDB_CLASSVIEW));
\r
28 ImageList_AddMasked(m_himlNormal, hbm, RGB(255, 0, 0));
\r
29 SetImageList(m_himlNormal, LVSIL_NORMAL);
\r
30 ::DeleteObject(hbm);
\r
32 // Adjust style to show lines and [+] button
\r
33 DWORD dwStyle = (DWORD)GetWindowLongPtr(GWL_STYLE);
\r
34 dwStyle |= TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT;
\r
35 SetWindowLongPtr(GWL_STYLE, dwStyle);
\r
39 // Add some tree-view items
\r
40 HTREEITEM htiRoot = AddItem(NULL, _T("TreeView"), 0);
\r
41 HTREEITEM htiCTreeViewApp = AddItem(htiRoot, _T("CTreeViewApp"), 1);
\r
42 AddItem(htiCTreeViewApp, _T("CTreeViewApp()"), 3);
\r
43 AddItem(htiCTreeViewApp, _T("GetMainFrame()"), 3);
\r
44 AddItem(htiCTreeViewApp, _T("InitInstance()"), 3);
\r
45 HTREEITEM htiMainFrame = AddItem(htiRoot, _T("CMainFrame"), 1);
\r
46 AddItem(htiMainFrame, _T("CMainFrame()"), 3);
\r
47 AddItem(htiMainFrame, _T("OnCommand()"), 4);
\r
48 AddItem(htiMainFrame, _T("OnInitialUpdate()"), 4);
\r
49 AddItem(htiMainFrame, _T("WndProc()"), 4);
\r
50 HTREEITEM htiView = AddItem(htiRoot, _T("CView"), 1);
\r
51 AddItem(htiView, _T("CView()"), 3);
\r
52 AddItem(htiView, _T("OnInitialUpdate()"), 4);
\r
53 AddItem(htiView, _T("WndProc()"), 4);
\r
55 // Expand some tree-view items
\r
56 Expand(htiRoot, TVE_EXPAND);
\r
57 Expand(htiCTreeViewApp, TVE_EXPAND);
\r
60 HTREEITEM CViewClasses::AddItem(HTREEITEM hParent, LPCTSTR szText, int iImage)
\r
63 tvi.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
\r
64 tvi.iImage = iImage;
\r
65 tvi.iSelectedImage = iImage;
\r
66 tvi.pszText = (LPTSTR)szText;
\r
68 TVINSERTSTRUCT tvis = {0};
\r
69 tvis.hParent = hParent;
\r
72 return InsertItem(tvis);
\r