リストコントロールにチェックボックスをつける

リストコントロールは徐々に機能が拡張されていっています。
その中のひとつチェックボックスを付ける方法です。

チェックボックスを実現するには、拡張スタイルを変更します。

//m_lstToolは、ListCtrlです。
DWORD dwStyle = m_lstTool.GetExtendedStyle();
dwStyle |= LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES;
m_lstTool.SetExtendedStyle(dwStyle);

拡張スタイルを指定することでグリッドを表示したりすることもできます。

チェックボックスがチェックされているかを取得する

チェックされているかどうかを調べるのにはListView_GetCheckStateマクロを使います。

BOOL ListView_GetCheckState(HWND hwndLV,UINT i);

リストコントロールのウィンドウハンドルと行番号を渡します。