ВУЗ:
Составители:
Рубрика:
- 16 -
ходного кода (в базовом для Delphi языке Object Pascal подобная функцио-
нальность реализуется значительно проще, см. ниже)
// модуль U1_Mess_2.h
. . . . . . . . . . . . . .
#define WM_MyMessage WM_USER
. . . . . . . . . . . . . .
class TForm1: public TForm
{
. . . . .
private: // User declarations
void __fastcall OnMyPost(TMessage &Message);
public: // User declarations
__fastcall TForm(Tcomponent *Owner);
BEGIN_MESSAGE_MAP
. . . . .
MESSAGE_HANDLER(WM_MyMessage, TMessage, OnMyPost)
END_MESSAGE_MAP(TComponent)
};
// --------------------------------------------------------------------------------------------------------
// модуль U1_Mess_2.cpp
. . . . .
void __fastcall TForm1::OnMyPost(TMessage &mess)
{
Label1->Caption = ''Получено сообщение '' + IntToStr(mess.LParam);
}
Таким образом, обработка сообщений в WINDOWS происходит по сле-
дующей цепочке
событие → MainWndProc → WndProc→ Dispatch → обработчик события
Например, С-оператор
PostMessage(Form2->Handle, WM_CLOSE, 0, 0);
передает окну формы Form2 сообщение WM_CLOSE, закрывающее это
окно. Оператор
PostMessage(FindWindow("TForm1", "Приложение_Primer_2",
WM_CLOSE, 0, 0);
передает аналогичное сообщение окну класса TForm1 с заголовком
Приложение_Primer_2 (используя WINDOWS API - функцию
FindWindow).
- 16 - ходного кода (в базовом для Delphi языке Object Pascal подобная функцио- нальность реализуется значительно проще, см. ниже) // модуль U1_Mess_2.h ............. . #define WM_MyMessage WM_USER .............. class TForm1: public TForm { ..... private: // User declarations void __fastcall OnMyPost(TMessage &Message); public: // User declarations __fastcall TForm(Tcomponent *Owner); BEGIN_MESSAGE_MAP ..... MESSAGE_HANDLER(WM_MyMessage, TMessage, OnMyPost) END_MESSAGE_MAP(TComponent) }; // -------------------------------------------------------------------------------------------------------- // модуль U1_Mess_2.cpp ..... void __fastcall TForm1::OnMyPost(TMessage &mess) { Label1->Caption = ''Получено сообщение '' + IntToStr(mess.LParam); } Таким образом, обработка сообщений в WINDOWS происходит по сле- дующей цепочке событие → MainWndProc → WndProc → Dispatch → обработчик события Например, С-оператор PostMessage(Form2->Handle, WM_CLOSE, 0, 0); передает окну формы Form2 сообщение WM_CLOSE, закрывающее это окно. Оператор PostMessage(FindWindow("TForm1", "Приложение_Primer_2", WM_CLOSE, 0, 0); передает аналогичное сообщение окну класса TForm1 с заголовком Приложение_Primer_2 (используя WINDOWS API - функцию FindWindow).
Страницы
- « первая
- ‹ предыдущая
- …
- 14
- 15
- 16
- 17
- 18
- …
- следующая ›
- последняя »