MFC アプリに情報を表示するために CListCtrl コントロールを使用しています。現時点では、LVS_EX_CHECKBOXES を SetExtendedStyle に設定しているため、コントロール内のすべての行の横にチェックボックスがあります。しかし、私が望むのは、コントロール内の一部の行だけにチェックボックスがあることです。これは可能ですか?もしそうなら、これはどのように行われますか?
ありがとう
イアン
MFC アプリに情報を表示するために CListCtrl コントロールを使用しています。現時点では、LVS_EX_CHECKBOXES を SetExtendedStyle に設定しているため、コントロール内のすべての行の横にチェックボックスがあります。しかし、私が望むのは、コントロール内の一部の行だけにチェックボックスがあることです。これは可能ですか?もしそうなら、これはどのように行われますか?
ありがとう
イアン
チェックボックスを持たない各項目について:
LVITEM lvi;
lvi.stateMask = LVIS_STATEIMAGEMASK;
lvi.state = INDEXTOSTATEIMAGEMASK(0);
::SendMessage(m_hWnd, LVM_SETITEMSTATE, nItem, (LPARAM)&lvi);
項目のチェック ボックスを「作成」するには:
SetCheck(Item, true/false);
はい、そうです。チェックボックスのビットマップを作成し、それらをコールバックに含める必要があります。ビット マップの 1 つが空白になります。
または、オーナー ドローイングを実行して、DrawFrameControl 関数を呼び出すこともできます。
マウス クリックをテストし、それに応じて応答するコードを追加することもできます。