1 //////////////////////////////////////////////
\r
2 // Files.cpp - Definitions for CViewFiles, CContainFiles
\r
3 // and DockFiles classes
\r
7 #include "resource.h"
\r
10 ///////////////////////////////////////////////
\r
11 // CViewFiles functions
\r
12 CViewFiles::CViewFiles() : m_himlSmall(0)
\r
16 CViewFiles::~CViewFiles()
\r
18 if (IsWindow()) DeleteAllItems();
\r
19 ImageList_Destroy(m_himlSmall);
\r
22 void CViewFiles::OnInitialUpdate()
\r
24 // Set the image lists
\r
25 m_himlSmall = ImageList_Create(16, 15, ILC_COLOR32 | ILC_MASK, 1, 0);
\r
26 HBITMAP hbm = LoadBitmap(MAKEINTRESOURCE(IDB_FILEVIEW));
\r
27 ImageList_AddMasked(m_himlSmall, hbm, RGB(255, 0, 255));
\r
28 SetImageList(m_himlSmall, LVSIL_SMALL);
\r
29 ::DeleteObject(hbm);
\r
31 // Set the report style
\r
32 DWORD dwStyle = (DWORD)GetWindowLongPtr(GWL_STYLE);
\r
33 SetWindowLongPtr(GWL_STYLE, (dwStyle & ~LVS_TYPEMASK) | LVS_REPORT);
\r
39 int CViewFiles::AddItem(LPCTSTR szText, int nImage)
\r
42 lvi.mask = LVIF_TEXT|LVIF_IMAGE;
\r
43 lvi.iImage = nImage;
\r
44 lvi.pszText = (LPTSTR)szText;
\r
46 return InsertItem(lvi);
\r
49 void CViewFiles::SetColumns()
\r
54 //initialise the columns
\r
55 LV_COLUMN lvColumn = {0};
\r
56 lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
\r
57 lvColumn.fmt = LVCFMT_LEFT;
\r
59 TCHAR szString[3][20] = {_T("Name"), TEXT("Size"), _T("Type")};
\r
60 for(int i = 0; i < 3; ++i)
\r
62 lvColumn.pszText = szString[i];
\r
63 InsertColumn(i, lvColumn);
\r
67 BOOL CViewFiles::SetSubItem(int nItem, int nSubItem, LPCTSTR szText)
\r
70 lvi1.mask = LVIF_TEXT;
\r
72 lvi1.iSubItem = nSubItem;
\r
73 lvi1.pszText = (LPTSTR)szText;
\r
74 return (BOOL)SendMessage(LVM_SETITEM, 0L, (LPARAM)&lvi1);
\r
77 void CViewFiles::InsertItems()
\r
80 int item = AddItem(_T("ListViewApp.h"), 2);
\r
81 SetSubItem(item, 1, _T("1 KB"));
\r
82 SetSubItem(item, 2, _T("C Header file"));
\r
85 item = AddItem(_T("ListViewApp.cpp"), 1);
\r
86 SetSubItem(item, 1, _T("3 KB"));
\r
87 SetSubItem(item, 2, _T("C++ Source file"));
\r
90 item = AddItem(_T("main.cpp"), 1);
\r
91 SetSubItem(item, 1, _T("1 KB"));
\r
92 SetSubItem(item, 2, _T("C++ Source file"));
\r
95 item = AddItem(_T("ListView"), 0);
\r
96 SetSubItem(item, 2, _T("Folder"));
\r
99 LRESULT CViewFiles::WndProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
\r
105 SetImageList(NULL, LVSIL_SMALL);
\r
110 return WndProcDefault(uMsg, wParam, lParam);
\r
115 ///////////////////////////////////////////////
\r
116 // CContainFiles functions
\r
117 CContainFiles::CContainFiles()
\r
119 SetTabText(_T("FileView"));
\r
120 SetTabIcon(IDI_FILEVIEW);
\r
121 SetDockCaption (_T("File View - Docking container"));
\r
122 SetView(m_ViewFiles);
\r
125 /////////////////////////////////////////////////
\r
126 // Definitions for the CDockFiles class
\r
127 CDockFiles::CDockFiles()
\r
132 void CDockFiles::OnInitialUpdate()
\r
134 // Set the width of the splitter bar
\r