SELCHANGE für ListView Controls

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;
}

Links

  1. NMLISTVIEW Structure

Diskussion

Sende ein Kommentar, Frage, Korrekturen, Beschimpfungen...

Name:

Nachricht:


doxapp c++
Zur Übersicht
home