Re[3]: Сообщение о изменении данных в CTreeWiev и PropertyLi
От: Максим2006 Беларусь  
Дата: 06.06.07 12:57
Оценка:
Здравствуйте, Envy, Вы писали:

E>Здравствуйте, Максим2006, Вы писали:


М>>Здравствуйте, Envy, Вы писали:


E>>>Как отловить изменение данных в СTreeWiev и в PropertyList (by viksoe.dk)

E>>>т.е. при изменении данных в листе должны вызываться определенная функция. Как это сделать — для меня загадка.
E>>>Заранее спасибо за помощь.
М>>Если речь о CPropertyListWindow из CPropertyGrid control, то там все месаги и нотификации отлавливаются как и любые другие (и в мапе должна быть строка REFLECT_NOTIFICATIONS()). Список поддерживаемых месаг и нотификаций находится в PropertyItem.h, который можно расширить своими. Пример
М>>
М>>    BEGIN_MSG_MAP(CMyDlg)
М>>        MESSAGE_HANDLER(WM_USER_PROP_UPDATEPROPERTY, OnPropUpdate)
М>>        NOTIFY_HANDLER(IDC_LV_PROP, PIN_BROWSE, OnCustomEdit)
М>>        REFLECT_NOTIFICATIONS()
М>>    END_MSG_MAP()

М>>    LRESULT OnPropUpdate(UINT uMsg, WPARAM wParam/*0*/, LPARAM lParam/*hCtrlWnd*/, BOOL& bHandled);
М>>    LRESULT OnCustomEdit(int idCtrl, LPNMHDR pnmh/*(LPNMPROPERTYITEM)pnmh*/, BOOL& bHandled);
М>>

E>спасибо, а какой мессадж приходит, когда в дереве ставишь или снимаешь чекбокс?
приходит нотификация PIN_ITEMCHANGED
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.