1 //////////////////////////////////////////////
\r
2 // MDIChildListView.cpp
\r
3 // Definitions for the CViewList and CMDIChildListView classes
\r
6 #include "MDIChildListView.h"
\r
7 #include "resource.h"
\r
10 ///////////////////////////////////////////////
\r
11 // CViewList functions
\r
12 CViewList::CViewList() : m_himlSmall(0)
\r
16 CViewList::~CViewList()
\r
18 if (IsWindow()) DeleteAllItems();
\r
19 ImageList_Destroy(m_himlSmall);
\r
22 void CViewList::OnInitialUpdate()
\r
24 // Set the image lists
\r
25 m_himlSmall = ImageList_Create(16, 15, ILC_COLOR32 | ILC_MASK, 1, 0);
\r
26 CBitmap hbm = LoadBitmap(MAKEINTRESOURCE(IDB_FILEVIEW));
\r
27 ImageList_AddMasked(m_himlSmall, hbm, RGB(255, 0, 255));
\r
28 SetImageList(m_himlSmall, LVSIL_SMALL);
\r
30 // Set the report style
\r
31 DWORD dwStyle = (DWORD)GetWindowLongPtr(GWL_STYLE);
\r
32 SetWindowLongPtr(GWL_STYLE, (dwStyle & ~LVS_TYPEMASK) | LVS_REPORT);
\r
38 int CViewList::AddItem(LPCTSTR szText, int nImage)
\r
41 lvi.mask = LVIF_TEXT|LVIF_IMAGE;
\r
42 lvi.iImage = nImage;
\r
43 lvi.pszText = (LPTSTR)szText;
\r
45 return InsertItem(lvi);
\r
48 void CViewList::SetColumns()
\r
53 //initialise the columns
\r
54 LV_COLUMN lvColumn = {0};
\r
55 lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
\r
56 lvColumn.fmt = LVCFMT_LEFT;
\r
58 TCHAR szString[3][20] = {TEXT("Name"), TEXT("Size"), TEXT("Type")};
\r
59 for(int i = 0; i < 3; ++i)
\r
61 lvColumn.pszText = szString[i];
\r
62 InsertColumn(i, lvColumn);
\r
66 BOOL CViewList::SetSubItem(int nItem, int nSubItem, LPCTSTR szText)
\r
69 lvi1.mask = LVIF_TEXT;
\r
71 lvi1.iSubItem = nSubItem;
\r
72 lvi1.pszText = (LPTSTR)szText;
\r
73 return (BOOL)SendMessage(LVM_SETITEM, 0L, (LPARAM)&lvi1);
\r
76 void CViewList::InsertItems()
\r
79 int item = AddItem(_T("ListViewApp.h"), 2);
\r
80 SetSubItem(item, 1, _T("1 KB"));
\r
81 SetSubItem(item, 2, _T("C Header file"));
\r
84 item = AddItem(_T("ListViewApp.cpp"), 1);
\r
85 SetSubItem(item, 1, _T("3 KB"));
\r
86 SetSubItem(item, 2, _T("C++ Source file"));
\r
89 item = AddItem(_T("main.cpp"), 1);
\r
90 SetSubItem(item, 1, _T("1 KB"));
\r
91 SetSubItem(item, 2, _T("C++ Source file"));
\r
94 item = AddItem(_T("ListView"), 0);
\r
95 SetSubItem(item, 2, _T("Folder"));
\r
98 LRESULT CViewList::WndProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
\r
104 SetImageList(NULL, LVSIL_SMALL);
\r
109 return WndProcDefault(uMsg, wParam, lParam);
\r
112 ///////////////////////////////////////////////
\r
113 // CMDIChildListView functions
\r
114 CMDIChildListView::CMDIChildListView()
\r
116 HINSTANCE hResource = GetApp()->GetResourceHandle();
\r
117 HMENU hChildMenu = LoadMenu(hResource, _T("MdiMenuList"));
\r
118 SetHandles(hChildMenu, NULL);
\r
119 SetView(m_ListView);
\r
122 CMDIChildListView::~CMDIChildListView()
\r
126 void CMDIChildListView::OnCreate()
\r
128 m_ListView.Create(this);
\r
131 void CMDIChildListView::OnInitialUpdate()
\r
133 SetWindowText(_T("List-View Window"));
\r
134 SetIconLarge(IDI_FILES);
\r
135 SetIconSmall(IDI_FILES);
\r