4

LVS_EX_CHECKBOXES | LVS_EX_INFOTIPスタイル付きの ListView コントロールを実装しました。を使用して、リスト ビュー コントロール アイテムから通知を受け取る関数を登録しました。

BEGIN_MESSAGE_MAP(Class, ParentClass)
ON_NOTIFY(LVN_GETINFOTIP,IDC_LIST2,OnClickCheckBox)
END_MESSAGE_MAP()

私の質問は、ListView コントロールの項目でチェックボックスを選択/選択解除したときに、どの通知コードが親に送信されるかということです..

OnClickCheckBox() 関数でチェックボックスの選択を処理するには、どのコードを記述する必要がありますか?

親切に助けて

4

1 に答える 1

1

チェックボックスの状態が変更されたかどうかを確認する必要があります。

メッセージ マップ:

ON_NOTIFY_REFLECT(LVN_ITEMCHANGED, &CMyListView::OnLvnItemchanged)

イベント ハンドラ:

void CMyListView::OnLvnItemchanged(NMHDR *pNMHDR, LRESULT *pResult)
{
    LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);

    if(pNMLV->uNewState == 8192) // Item checked
    {
        ...
    }
    else if(pNMLV->uNewState == 4096) // Item unchecked
    {
        ...
    }

    *pResult = 0;
}
于 2012-11-28T15:47:42.550 に答える