タイルビュー

ListViewでTile Viewを使いたくて調べたけれど、見つからない。
仕方がないので、CommCtrl.hを調べて導出。XPからしか使えないけど。

// タイルビューにする
ListView_SetView(hwnd, LV_VIEW_TILE);

// タイルビューの情報を設定する
LVTILEVIEWINFO tvi = {sizeof(LVTILEVIEWINFO)};
tvi.dwMask = LVTVIM_TILESIZE|LVTVIM_COLUMNS;
tvi.dwFlags = LVTVIF_AUTOSIZE;
tvi.cLines = 3; // 3行にする
ListView_SetTileViewInfo(hwnd, &tvi);

// Item=0の表示テキストを定義する
// 2行目=SubItem1、3行目=SubItem2にする
UINT cols = {1, 2};
LVTILEINFO ti = {sizeof(LVTILEINFO)};
ti.iItem = 0;
ti.cColumns = 2;
ti.puColumns = cols;
ListView_SetTileInfo(hwnd, &ti);