7章.CListCtrlクラス リストコントロール 7−2.チェックボックスを追加する |
以下のように拡張スタイルを指定します。(Comctl32.dll:Version 4.70) CListCtrl *clc=(CListCtrl *)GetDlgItem(IDC_LIST1); clc->SetExtendedStyle(clc->GetExtendedStyle()|LVS_EX_CHECKBOXES); 4.70以前のバージョンでは以下のようにしていました。 任意イメージで複数状態を表示できます。 チェックボックスのイメージを作成します。 (1イメージ16×15/□レ:32×15の未/チェックをイメージしたビットマップ) それを用意したイメージリストに読み込みます。 CImageList m_chkbox1; m_chkbox1.Create(IDB_CHKBOX1,16,0,RGB(0,128,128)); m_chkbox1.SetBkColor(::GetSysColor(COLOR_WINDOW)); SetImageListによりリストコントロールにセットします。 ((CListCtrl *)GetDlgItem(IDC_LIST1))->SetImageList(&m_chkbox1,LVSIL_STATE); 以下のような感じにアイテムをインサートします。 lvi.mask=LVIF_TEXT|LVIF_STATE; lvi.state=INDEXTOSTATEIMAGEMASK(1); lvi.stateMask=LVIS_STATEIMAGEMASK|LVIS_SELECTED; lvi.iItem=clc->GetItemCount(); lvi.iSubItem=0; lvi.pszText="アイテム"; lvi.cchTextMax=strlen(lvi.pszText); clc->InsertItem(&lvi); |
Top へ戻る |