WinAPI По-прежнему ли подклассы управления отправляют уведомления своим родителям?

Я делаю класс обертки управления редактированием. Элемент управления редактирования, в который обертывается класс, подклассифицируется, чтобы виртуальные методы (или «события», такие как virtual void OnChange()) может быть отменено. Мой единственный вопрос, если я справлюсь, скажем, EN_CHANGE уведомление, в процедуре подкласса элементов управления, может ли пользователь по-прежнему обрабатывать EN_UPDATE уведомление в процедуре родительского окна? Или подклассификация элемента управления означает, что ВСЕ уведомления обрабатываются процедурой управления новым окном?

0

Решение

Сообщения, которые ваш подкласс не обрабатывает, должны быть переданы CallWindowProc(original window procedure) так что вместо этого будет использоваться значение по умолчанию для элемента управления.

Тем не менее, EN_ уведомления не отправляются элементу управления, они отправляются непосредственно родителю.

1

Другие решения

Вы не можете обработать уведомление EN_CHANGE внутри окна элемента управления. Это уведомление отправляется непосредственно в родительское окно.

Для других оконных сообщений вам решать, где они будут обрабатываться. Обычно оконный менеджер отправляет сообщения только в одно окно. Если вы обработаете сообщение в своей оконной процедуре, никто больше его не увидит.

0