MFC VC++ アプリケーション Tip集 サイト


7章.CListCtrlクラス リストコントロール

7−11.チェック、チェック解除を知る







 LVN_ITEMCHANGEDを処理することにより知ることができます。

void CTest0031Dlg::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult)
{//LVN_ITEMCHANGED
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
	if(pNMListView->uChanged & LVIF_STATE
/*	&& (pNMListView->uNewState & LVIS_STATEIMAGEMASK)
	!=(pNMListView->uOldState & LVIS_STATEIMAGEMASK))*/
	&& (pNMListView->uNewState ^ pNMListView->uOldState) & LVIS_STATEIMAGEMASK)
	{
		if(((CListCtrl *)GetDlgItem(IDC_LIST1))->GetCheck(pNMListView->iItem))
			TRACE("CHECK!!\n");
		else TRACE("UNCHECK!!\n");
	}

	*pResult = 0;
}



Top へ戻る