LVS_OWNERDATA | LVS_EX_CHECKBOXES スタイルの適用


neo  2005-05-21 02:30:49  No: 57470

リストコントロールにLVS_OWNERDATAとLVS_EX_CHECKBOXESスタイルを適用しています。

ですが現在はチェックボックスは表示できていません。
この2つのスタイルを併用する事は可能なのでしょうか?
知っている方が居られましたら情報を教えてください。

以下にソースを載せておきます。

// ダイアログの WM_INITDIALOG 処理時
HWND hList = ::GetDlgItem(...);
// LVS_OWNERDATA はりソースで指定済み
::SendMessage(hList, LVM_SETEXTENDEDLISTVIEWSTYLE, 0L, LVS_EX_CHECKBOXES);
LVCOLUMN obLC;
obLC.mask = LVCF_FMT | LVCF_WIDTH;
obLC.fmt = LVCFMT_LEFT;
obLC.cx = 64;
::SendMessage(hList, LVM_INSERTCOLUMN, 0, reinterpret_cast<LPARAM>(&obLC));
::SendMessage(hList, LVM_INSERTCOLUMN, 1, reinterpret_cast<LPARAM>(&obLC));
::SendMessage(hList, LVM_SETITEMCOUNT, 1, 0L);

// WM_NOTIFY の LVN_GETDISPINFO 処理時
LV_DISPINFO* lpNM = lParam;
if ((lpNM->item.mask & LVIF_IMAGE) != 0) {
//  lpNM->item.iSubItem == 0(チェックボックス行)時ここを通りますが、
//  ここで設定する事でチェックボックスを表示できるのでしょうか?
/*  lpNM->item.iImage = ?
    lpNM->item.stateMask = LVIS_STATEIMAGEMASK;
    lpNM->item.state = INDEXTOSTATEIMAGEMASK(2));*/
}
if ((lpNM->item.mask & LVIF_TEXT) != 0) {
    _tcscpy(lpNM->item.pszText, _T("文字"));
}

環境 WinXP VC6.0+SP6 SDK


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加