ControlDesigner.WndProc(Message) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обрабатывает сообщения Windows и при необходимости направляет их в элемент управления.
protected:
virtual void WndProc(System::Windows::Forms::Message % m);
protected virtual void WndProc (ref System.Windows.Forms.Message m);
abstract member WndProc : Message -> unit
override this.WndProc : Message -> unit
Protected Overridable Sub WndProc (ByRef m As Message)
Параметры
Комментарии
Этот метод вызывается для каждого сообщения, которое элемент управления обычно получает. Это позволяет конструктору предварительно обрабатывать сообщения перед при необходимости маршрутизацией их в элемент управления.
Чтобы отправить сообщение в метод Control.WndProc элемента управления, вызовите WndProc в конструкторе элемента управления.
Заметка
Конструктор фильтрует сообщения, поэтому некоторые сообщения не будут отправляться в элемент управления. Например, сообщения мыши перехватываются конструктором. Если это не нужное поведение, вызовите DefWndProc вместо этого.
Передайте m
в качестве параметра. При необходимости можно изменить или создать новую System.Windows.Forms.Message для передачи в метод элемента управления.
В следующей таблице показан поток сообщений.
Без конструктора | С помощью конструктора |
---|---|
USER32 Control.WndProc Control.DefWndProc USER32 |
USER32Control.Designer.
WndProc
DefWndProc Control.WndProc Control.DefWndProc USER32 |
Конструктор перехватывает сообщения, заменив свойство Control.WindowTarget в элементе управления. Обычно WindowTarget указывает на NativeWindow, содержащиеся в элементе управления. Во время разработки конструктор заменяет это собственным целевым объектом окна и кэширует исходное значение.