blob: 008f9950224ab4b02045177eb0c17320e31e6736 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#ifndef LISTVIEW_H
#define LISTVIEW_H
#include <windows.h>
#include <commctrl.h>
struct ListView
{
HWND hWnd;
ListView(HWND hWndParent, HMENU hMenu, DWORD dwStyle);
/* Retrieve next matching list view item. */
bool FindNextItem(LVITEM* lvi, LPARAM lParam);
/* Naively calculate height appropriate for number of items. */
virtual int Height();
/* Update column widths on window size change (unimplemented
* by default). */
virtual void ResizeColumns(int w);
/* Enable/disable "modern" theme. */
virtual void UpdateTheme(BOOL bThemeActive);
virtual LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
protected:
WNDPROC m_proc0;
HWND m_hWndParent;
};
inline bool ListView::FindNextItem(LVITEM* const lvi, const LPARAM lParam)
{
if ((lvi->iItem = ListView_GetNextItem(hWnd, lvi->iItem, lParam)) == -1)
return false;
return ListView_GetItem(hWnd, lvi);
}
#endif
|