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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
void CLVView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
m_SmallImageList.Create(16, 16, ILC_COLOR32 | ILC_MASK, 1, 1);
m_LargeImageList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 1, 1);
HICON hIcon = AfxGetApp()->LoadIcon(IDR_LVTYPE);
m_SmallImageList.Add(hIcon);
m_LargeImageList.Add(hIcon);
CListCtrl& ThisListCtrl = GetListCtrl();
ThisListCtrl.SetImageList(&m_SmallImageList, LVSIL_SMALL);
ThisListCtrl.SetImageList(&m_LargeImageList, LVSIL_NORMAL);
DWORD dwStyle = WS_VISIBLE | WS_CHILD | WS_BORDER;
dwStyle |= LVS_ICON;
ThisListCtrl.ModifyStyle(0, dwStyle);
CRect rect;
GetClientRect(&rect);
LVGROUPMETRICS GroupMetrics;
ZeroMemory(&GroupMetrics, sizeof(LVGROUPMETRICS));
GroupMetrics.cbSize = sizeof(LVGROUPMETRICS);
GroupMetrics.mask = LVGMF_BORDERSIZE;
GroupMetrics.Left = rect.left;
GroupMetrics.Right = rect.right;
GroupMetrics.Top = rect.top;
GroupMetrics.Bottom = (rect.bottom+rect.top)/2;
ThisListCtrl.SetGroupMetrics(&GroupMetrics);
LVGROUP grp;
ZeroMemory(&grp, sizeof(LVGROUP));
grp.cbSize = sizeof(LVGROUP);
grp.mask = LVGF_ALIGN | LVGF_GROUPID | LVGF_HEADER | LVGF_STATE | LVGF_NONE;
grp.state = LVGS_NORMAL;
grp.stateMask = 0;
grp.uAlign = LVGA_HEADER_LEFT;
grp.pszHeader = L"Groupe 1";
grp.cchHeader = lstrlenW(grp.pszHeader);
grp.iGroupId = 0;
LRESULT R = ThisListCtrl.InsertGroup(0, &grp);
grp.pszHeader = L"Groupe 2";
grp.cchHeader = lstrlenW(grp.pszHeader);
grp.iGroupId = 1;
R = ThisListCtrl.InsertGroup(1, &grp);
LV_ITEM lvItem;
lvItem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;
lvItem.iItem = 0;
lvItem.iSubItem = 0;
lvItem.pszText = "item 1";
lvItem.cchTextMax = lstrlen(lvItem.pszText);
lvItem.iImage = 0;
int index = ThisListCtrl.InsertItem(&lvItem);
lvItem.iItem = 1;
lvItem.iSubItem = 0;
lvItem.pszText = "item 2";
lvItem.cchTextMax = lstrlen(lvItem.pszText);
lvItem.iImage = 0;
index = ThisListCtrl.InsertItem(&lvItem);
LRESULT res = ThisListCtrl.EnableGroupView(TRUE);
if(res == 1)
AfxMessageBox("group View was enabled");
else
AfxMessageBox("group View was not enabled");
//ThisListCtrl.SetView(LV_VIEW_TILE);
if(ThisListCtrl.IsGroupViewEnabled())
AfxMessageBox("group View is enabled");
else
AfxMessageBox("group View is not enabled");
if(ThisListCtrl.HasGroup(0))
AfxMessageBox("has group 0");
if(ThisListCtrl.HasGroup(1))
AfxMessageBox("has group 1");
LVGROUP grp2;
ZeroMemory(&grp2, sizeof(LVGROUP));
grp2.cbSize = sizeof(LVGROUP);
grp2.mask = LVGF_ALIGN | LVGF_GROUPID | LVGF_HEADER | LVGF_STATE | LVGF_NONE;
ThisListCtrl.GetGroupInfo(0, &grp2);
AfxMessageBox(CString(grp2.pszHeader));
ZeroMemory(&grp2, sizeof(LVGROUP));
grp2.cbSize = sizeof(LVGROUP);
grp2.mask = LVGF_ALIGN | LVGF_GROUPID | LVGF_HEADER | LVGF_STATE | LVGF_NONE;
ThisListCtrl.GetGroupInfo(1, &grp2);
AfxMessageBox(CString(grp2.pszHeader));
ThisListCtrl.MoveItemToGroup(0, 0);
ThisListCtrl.MoveItemToGroup(1, 1);
} |
Partager