WM_NOTIFY
отправляется в родительское окно элемента управления. Это означает, что TFrame
, а не его собственный родитель TForm
(или другой родитель), получит сообщение для своих прямых дочерних элементов управления.
Вы не должны обрабатывать WM_NOTIFY
напрямую. Подкласс самого дочернего элемента управления, например, назначив ему новый обработчик WindowProc
, а затем обработайте сообщение CN_NOTIFY
. VCL получит исходное сообщение WM_NOTIFY
и автоматически отправит его как сообщение CN_NOTIFY
конкретному элементу управления, к которому он принадлежит.
То же самое относится к WM_COMMAND
(пересылается как CN_COMMAND
) и многим другим пересылаемым системным сообщениям. Модуль Controls.pas определяет все доступные CN_...
сообщения, которые определены для перенаправленных системных сообщений.