リストビューにてカラムをクリックするとソートのマーク(△)が表示されるアプリケーションが多々ある.
Outlook Express と同等でよければコモンコントロールにて実現可能である.
CListCtrl &lc = GetListCtrl();
lc.InsertColumn(0, "タイトル");
CImageList imgList;
VERIFY( imgList.Create(IDB_HEADER, 16, 0, RGB(0, 0, 0)) );
HIMAGELIST hil = imgList.Detach();
HWND hc = ListView_GetHeader(lc.m_hWnd);
Header_SetImageList(hc, hil);
HD_ITEM hdi;
memset(&hdi, 0, sizeof(hdi));
hdi.mask = HDI_IMAGE | HDI_FORMAT;
hdi.fmt = HDF_STRING | HDF_IMAGE | HDF_BITMAP_ON_RIGHT;
hdi.iImage = 1;
VERIFY(Header_SetItem(hc, 0, &hdi));
参照
ソート