ВУЗ:
Составители:
Рубрика:
- 17 -
Например, нижеприведенный вызов
SendMessage(Form2->Handle, WM_CLOSE, 0, 0);
передает окну формы Form2 закрывающее это окно сообщение
WM_CLOSE. Вызов
SendMessage(FindWindow("TForm1", "Приложение_Primer_2",
WM_CLOSE, 0, 0);
передает аналогичное сообщение окну класса TForm1.
Функция PostMessage возвращает управление вызвавшей ее программе,
не дожидаясь окончания обработки сообщения (этим она существенно отли-
чается от функции SendMessage, которая возвращает управление вызываю-
щей программе только после окончания обработки сообщения и на это время
блокирует пославшее сообщение приложение).
Вышеприведенные данные дают некоторые основы
знания о функциони-
ровании ОС WINDOWS, в то же время демонстрируя сложность предмета
(для заинтересованных в профессиональных знаниях рекомендуется работы
[1
÷ 2,4 ÷ 11]). Для работающих на MFCL / OWL C++ знание всех тонкостей
необходимо, начинающий Delphi-разработчик может и не иметь представле-
ния о тонкостях функционирования WINDOWS-программ (хотя серьезная
дальнейшая работа в WINDOWS и потребует дополнительных знаний).
Например, в Delphi доступно прямое связывание сообщений WINDOWS с
методами-обработчиками (message-handling methods). Прототип соответ-
ствующей процедуры-обработчика должен быть
объявлен с директивой mes-
sage, непосредственно за которой следует идентификатор обрабатываемого
сообщения
procedure WM_Reaction1 (var Message: TWMSize); message
WM_MOUSEMOVE;
Теперь при генерации сообщения WM_MOUSEMOVE (любое переме-
щение 'мыши') будет вызвана процедура WM_Reaction_1 (название метода, а
также имя и тип единственного описанного с квалификатором var формаль-
ного параметра в данном случае не имеют значения)
procedure TForm1.WM_Reaction_1(var Message: TWMSize);
begin
Label_1.Сарtion:='Получено очередное сообщение ' +
'о перемещении мыши...';
end;
Приведенный подход доступен для квалифицированных разработчиков, в
- 17 - Например, нижеприведенный вызов SendMessage(Form2->Handle, WM_CLOSE, 0, 0); передает окну формы Form2 закрывающее это окно сообщение WM_CLOSE. Вызов SendMessage(FindWindow("TForm1", "Приложение_Primer_2", WM_CLOSE, 0, 0); передает аналогичное сообщение окну класса TForm1. Функция PostMessage возвращает управление вызвавшей ее программе, не дожидаясь окончания обработки сообщения (этим она существенно отли- чается от функции SendMessage, которая возвращает управление вызываю- щей программе только после окончания обработки сообщения и на это время блокирует пославшее сообщение приложение). Вышеприведенные данные дают некоторые основы знания о функциони- ровании ОС WINDOWS, в то же время демонстрируя сложность предмета (для заинтересованных в профессиональных знаниях рекомендуется работы [1 ÷ 2,4 ÷ 11]). Для работающих на MFCL / OWL C++ знание всех тонкостей необходимо, начинающий Delphi-разработчик может и не иметь представле- ния о тонкостях функционирования WINDOWS-программ (хотя серьезная дальнейшая работа в WINDOWS и потребует дополнительных знаний). Например, в Delphi доступно прямое связывание сообщений WINDOWS с методами-обработчиками (message-handling methods). Прототип соответ- ствующей процедуры-обработчика должен быть объявлен с директивой mes- sage, непосредственно за которой следует идентификатор обрабатываемого сообщения procedure WM_Reaction1 (var Message: TWMSize); message WM_MOUSEMOVE; Теперь при генерации сообщения WM_MOUSEMOVE (любое переме- щение 'мыши') будет вызвана процедура WM_Reaction_1 (название метода, а также имя и тип единственного описанного с квалификатором var формаль- ного параметра в данном случае не имеют значения) procedure TForm1.WM_Reaction_1(var Message: TWMSize); begin Label_1.Сарtion:='Получено очередное сообщение ' + 'о перемещении мыши...'; end; Приведенный подход доступен для квалифицированных разработчиков, в
Страницы
- « первая
- ‹ предыдущая
- …
- 15
- 16
- 17
- 18
- 19
- …
- следующая ›
- последняя »