Обрабатывать WM_NOTIFY большого дочернего элемента управления - PullRequest
1 голос
/ 17 ноября 2011

У меня есть диалог MFC и элемент управления сеткой ActiveX.Всякий раз, когда пользователь пытается редактировать ячейку сетки типа даты, я создаю CDateTimeCtrl и показываю внутри сетки.Этот элемент управления создается как дочерний элемент для элемента сетки, но он является переменной в классе диалога.

Теперь я хотел бы обработать сообщение DTN_DATETIMECHANGE этого элемента управления датой в классе моего диалогового окна.Я могу видеть в Spy ++, что эти сообщения отправляются в элемент управления grid, но как нам справиться с этим в классе (родителя) прародителя?

1 Ответ

0 голосов
/ 17 ноября 2011

Вы пытались создать его как родного брата, но чуть выше в Z-порядке?Вам может потребоваться добавить WS_CLIPSIBLINGS в стиль родительского диалога, чтобы избежать проблем, когда сетка закрашивает элемент управления датой.

Альтернативный метод заключается в использовании промежуточного дочернего элемента, который действует как сервер пересылки, поэтому сетка содержит сервер пересылки, который содержит датуконтроль.Таким образом, ваш код все еще получает уведомления;и вы все равно получаете соответствующие эффекты сдерживания HWND.(У сервера пересылки обычно нет границ, и он просто изменяет размер своего единственного дочернего элемента, чтобы занять всю его клиентскую область, поэтому не виден конечному пользователю.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...