Несколько дней назад я начал разрабатывать приложение MFC, которое работает как клиент для моей базы данных. В последнее время я пытался реализовать метод, который выполняется каждый раз, когда значение свойства изменяется (предпочтительно поле, которое работает как поле со списком) в окне свойств.
Моя первая попытка была переопределить CMFCPropertyGridProperty::OnUpdateValue()
, Мне удалось «реализовать» этот метод должным образом, но он не сработал, как ожидалось (я считаю, что главная проблема здесь в том, что я не реализовал его непосредственно в классе CProperties, но я не смог найти никаких других ссылок в интернет).
Итак, я перешел к командам, основанным на картах сообщений. Я пробовал много видов команд, таких как ON_CONTROL_REFLECT
, CBN_EDITCHANGE
, CBN_EDITUPDATE
Но ничего из этого, похоже, не помогло. Я не уверен, сделал ли я огромную ошибку при определении основных свойств (первый аргумент из этих предыдущих команд) или они являются исключительными командами для CCombobox
учебный класс. Другими словами, эти команды казались бесполезными для моей текущей таблицы свойств, поскольку единственный «комбобокс», который я использовал до сих пор, — это тот, который генерируется, когда используется метод CMFCPropertyGridProperty :: AddOption () (Важное примечание: мое целое Свойство Grid в основном формируется объектами CMFCPropertyGridProperty).
В любом случае, я считаю, что ответы на мои сомнения и решение этой проблемы довольно просты, но я все еще новичок в C ++ и MFC …
Задача ещё не решена.
Других решений пока нет …