2010-12-30 6 views
2

私は、その中にCheckBoxを持つlistctrl(LVS_EX_CHECKBOXES)を持っています。これは単一列のList Controlです。私の問題は、特定のアイテムが選択/選択解除されているCheckBoxをクリックしたときです。しかし、アイテムテキストをクリックすると、対応するチェックボックスは選択/選択解除されません。両方のシナリオを処理する方法。CListCtrlのマウスクリックを処理する際の問題

答えて

2

ユーザーがアイテムテキストをクリックしたときにアイテムをチェックするには、ユーザーがアイテムをクリックするたびに送信されるNM_CLICKメッセージを処理する必要があります。

の線に沿って何か:

CYourListCtrl::OnNMClick(NMHDR* pNMHDR, LRESULT* pResult) 
{ 

LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); 

int nItemIndex = pNMItemActivate->iItem; 

BOOL bCurrentCheckState = GetCheck(nItemIndex); 

SetCheck(nItemIndex, !bCurrentCheckState); 

*pResult = 0; 

} 

あなたはそれがチェックボックスiteselfのクリックに対してハンドラと競合しないことを確認する必要がありますので、私は、しかしテストを行わずにこれを書いています。

関連する問題