リストビューにアイコンを描く
こういうコードを書いたのですが、
どうしてもアイコンの表示が行の先頭になってしまいます。
自分の好きな項目の位置にアイコンを表示させていのですが、どうしたら
いいですか?
long state;
state = GetWindowLong(リストビュー.GetSafeHwnd(), GWL_STYLE);
SetWindowLong(リストビュー.GetSafeHwnd(), GWL_STYLE, (state & ~LVS_TYPEMASK)| LVS_REPORT);
アイコン.Create(IDB_BITMAP1, 16, 4, RGB(255, 255, 255));
リストビュー.SetImageList(&アイコン, LVSIL_SMALL);
// 詳細表示のときのコラムのヘッダの設定
LVCOLUMN myColumn; // 列情報を保持するオブジェクト
myColumn.mask = LVCF_TEXT|LVCF_WIDTH; // pszText,cxを有効にする
RECT myRect;
リストビュー.GetClientRect(&myRect); // リストビューサイズを得る
myColumn.cx = (myRect.right - myRect.left) / 6; // 横幅の1/3を表題にする
myColumn.pszText = "やさい"; // 列タイトル文字列
リストビュー.InsertColumn(0, &myColumn); // 0列目を確保する
myColumn.cx = (myRect.right - myRect.left)/ 5; // 横幅の2/3を説明にする
myColumn.pszText = "くだもの"; // 列タイトル文字列
リストビュー.InsertColumn(1, &myColumn); // 1列目を確保する
myColumn.cx = (myRect.right - myRect.left)/ 6; // 横幅の2/3を説明にする
myColumn.pszText = "さかな"; // 列タイトル文字列
リストビュー.InsertColumn(2, &myColumn); // 1列目を確保する
myColumn.cx = (myRect.right - myRect.left)/ 6; // 横幅の2/3を説明にする
myColumn.pszText = "おにく"; // 列タイトル文字列
リストビュー.InsertColumn(3, &myColumn); // 1列目を確保する
myColumn.cx = (myRect.right - myRect.left)/ 6; // 横幅の2/3を説明にする
myColumn.pszText = "おかし"; // 列タイトル文字列
リストビュー.InsertColumn(4, &myColumn); // 1列目を確保する
myColumn.cx = (myRect.right - myRect.left)/ 6; // 横幅の2/3を説明にする
myColumn.pszText = "さけ"; // 列タイトル文字列
リストビュー.InsertColumn(5, &myColumn); // 1列目を確保する
// リストビューにアイテムを設定する
static LVITEM myITEM; // 初期値をクリアするためにstaticを使用
myITEM.mask = LVIF_IMAGE|LVIF_TEXT;
myITEM.iItem = 0; // 項目0
myITEM.iSubItem = 0; // 列0
myITEM.pszText = "100"; // タイトル文字列
myITEM.iImage = 0; // 表示させるアイコン番号
リストビュー.InsertItem(&myITEM); // 設定する
myITEM.mask = LVIF_TEXT; // pszTextを有効にする
myITEM.iSubItem = 1; // 列1
myITEM.pszText = "500"; // 説明文字列
リストビュー.SetItem(&myITEM); // 設定する
myITEM.mask = LVIF_TEXT; // pszTextを有効にする
myITEM.iSubItem = 2; // 列1
myITEM.pszText = "1200"; // 説明文字列
リストビュー.SetItem(&myITEM); // 設定する
myITEM.mask = LVIF_TEXT; // pszTextを有効にする
myITEM.iSubItem = 3; // 列1
myITEM.pszText = "500"; // 説明文字列
リストビュー.SetItem(&myITEM); // 設定する
myITEM.mask = LVIF_TEXT; // pszTextを有効にする
myITEM.iSubItem = 4; // 列1
myITEM.pszText = "7700"; // 説明文字列
リストビュー.SetItem(&myITEM); // 設定する
myITEM.mask = LVIF_TEXT; // pszTextを有効にする
myITEM.iSubItem = 5; // 列1
myITEM.pszText = "412"; // 説明文字列
リストビュー.SetItem(&myITEM); // 設定する
オーナードロー
ツイート | ![]() |