I am wondering how I can handle an event for a dynamically created variable, e.g. a list control.
CListCtrl* pList = new CListCtrl();<br/>
pList->Create(...);
How can I handle the event LVN_ITEMCHANGED for pList?
OnLvnItemchangedList(NMHDR *pNMHDR, LRESULT *pResult)
{
//do stuff
}
Do I have to create an extended CListCtrl or is there some other way? I would prefer not creating a extended class.
LVN_ITEMCHANGED is sent through WM_NOTIFY message from control to its parent so you just need to add LVN_ITEMCHANGE handler function in parent’s class (e.g. CMyDlg):
In header file:
In source file:
It does not matter how
CListCtrlcontrol is created (through resource editor or dynamically), approach is the same. Just make sure you are using correct controlIDinON_NOTIFYmessage map entry. (IDpassed toCreate/CreateExor defined in Properties in resource editor).