Здравствуйте, 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