C++ und WTL
ListView sendet keine SELCHANGE Notification wie die Listbox (LBN_SELCHANGE). Um auf den Wechsel der Auswahl in einem CListViewCtrl zu reagieren benötigt man einen Handler für die LVN_ITEMCHANGED. Das gesendete NMLISTVIEW Structure [1] beinhaltet Informationen darüber wie sich das Item geändert hat. Die entscheidene Information finden wir in den Membern uNewState und uChanged:
BEGIN_MSG_MAP(CMyDialog)
MSG_WM_INITDIALOG(OnInitDialog)
NOTIFY_HANDLER_EX(IDC_LIST ,LVN_ITEMCHANGED, OnListChange)
END_MSG_MAP()
LRESULT CMyDialog::OnListChange(NMHDR* phdr)
{
NMLISTVIEW* pLV = (NM_LISTVIEW*)phdr;
if ((pLV->uChanged & LVIF_STATE) &&
(pLV->uNewState & LVIS_SELECTED))
{
// selection has changed
}
return 0;
}
Sende ein Kommentar, Frage, Korrekturen, Beschimpfungen...
doxapp c++ Zur Übersicht home