Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4
Кент Рейсдорф. BORLAND C++BUILDER. Страница 426
Параметр message handler — это фактическое имя функции, обрабатывающей сообщение. Вы можете использовать любое имя, которое вам нравится, но по традиции (я ввожу традицию прямо сейчас) вы удаляете из имени структуры приставку TWM и добавляете предлог On. Если опять обратиться к WMERASEBKGND, то имя функции обработчика сообщения должно быть OnEraseBkgnd.
Чтобы усвоить эту информации на будущее, вы должны увидеть полное объявление класса, в котором реализована таблица отображения сообщений. В листинге 14.5 показано типичное объявление класса главной формы, который использует таблицу отображения сообщений.
Листинг 14.5. Message.h
Обратите внимание на таблицу отображения сообщений в конце объявления класса и на объявление функций для обработки сообщений. (Не принимайте во внимание строки 11, 30 и 34. В них реализуется определяемое пользователем сообщение, о чем я буду говорить немного позже.)
Функция обработки сообщения
Функция обработки сообщения (или просто обработчик сообщения) — это функция, которая будет вызываться каждый раз, когда сообщение, на которое вы реагируете, получено вашим приложением. Обработчик сообщения имеет единственный параметр — структуру, раскрывающую сообщение, о которой я говорил раньше. Обработчик для сообщения WM_ERASEBKGND может выглядеть следующим образом:
void fastcall TMainForm::OnEraseBkgnd(TWMEraseBkgndS Message)
(
// ваш код обработки сообщения
}
Как я уже говорил, раскрывающая структура будет содержать все параметры, необходимые для обработки сообщения. Структура, раскрывающая сообщение WMERASEBKGND, имеет следующий вид:
Все раскрывающие структуры имеют, как правило, два члена-данных: Msg и Result. Член Msg содержит сообщение, которое было послано. Этот параметр используется VCL и не относится непосредственно к вам.