Главная
Решение задач.
Справочные данные.
Формулы.
Программирование.
Как в Windows?
Разное.
Утилиты Windows.
Несправности принтеров.
BIOS по алфавиту.
Тесты.
Карта сайта.

Работа с сообщениями на winAPI в delphi.

Передает Msg текущей функции фильтрации сообщений.

function CallMsgFilter(var Msg: TMsg; Code: Integer): Bool;
Параметры:
Msg: TMsg, содержащее фильтруемое сообщение.
Code: Код функции фильтрации.
Возвращаемое значение: Нуль, если сообщение должно быть обработано; не нуль - если нет.

Вызывает и передает информацию сообщения в PrevWndProc. Разрешает субклассифицировать окна путем разрешения перехвата сообщений до передачи их функции окна класса.

function CallWindowProc(PrevWndProc: TFarProc; Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Longint;
Параметры:
PrevWndProc: Адрес экземпляра процедуры предыдущей функции окна.
Wnd: Окно, принимающее сообщение.
Msg: Идентификатор сообщения.
wParam: Дополнительная информация, зависящая от сообщения.
lParam: Дополнительная информация, зависящая от сообщения.
Возвращаемое значение: Значение от вызова PrevWndProc.

Обеспечивает стандартную обработку сообщений для окон кадров MDI.

function DefFrameProc(Wnd, MDIClient: HWnd; Msg, wParam: Word; lParam: Longint): Longint;
Параметры:
Wnd: Окно кадра MDI.
MDIClient: Окно пользователя MDI.
Msg: Номер сообщения.
wParam: Информация, зависящая от сообщения.
lParam: Информация, зависящая от сообщения.
Возвращаемое значение: Результат обработки сообщения.

Вызывает следующую функцию в цепочке функций перехвата (фильтрации сообщений).

function DefHookProc(Code: Integer; wParam: Word; lParam: Longint; NextHook: TFarProc ): Longint;
Параметры:
Code: Определяет, как обрабатывается сообщение.
wParam: Параметp-слово для сообщения.
lParam: Длинный параметp для сообщения.
NextHook: TFarProc для следующей функции перехвата.
Возвращаемое значение: Значение, зависящее от кода.

Обеспечивает стандартную обработку сообщений для дочерних окон MDI.

function DefMDIChildProc(Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Longint;
Параметры:
Wnd: Дочернее окно MDI.
Msg: Номер сообщения.
wParam: Информация, зависящая от сообщения.
lParam: Информация, зависящая от сообщения.
Возвращаемое значение: Результат обработки сообщения.

Обеспечивает стандартную обработку сообщений для сообщений, которые явно не обрабатываются прикладной задачей.

function DefWindowProc(Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Longint;
Параметры:
Wnd: Идентификатор окна.
Msg: Номер сообщения.
wParam: Информация, зависящая от сообщения.
lParam: Информация, зависящая от сообщения.
Возвращаемое значение: Результат обработки сообщения.

Считывает сообщение, в рамках диапазона фильтрации, из очереди сообщений прикладной задачи. Оставляет управление другим прикладным задачам, если сообщений нет или если следующим сообщением является wm_Paint или wm_Timer.

function GetMessage(var Msg: TMsg; Wnd: HWnd; MsgFilterMin, MsgFilterMax: Word): Bool;
Параметры:
Msg: Принимающая структура TMsg.
Wnd: Окно назначения сообщений или 0 для всех окон в прикладной задаче.
MsgFilterMin: Нуль в случае отсутствия фильтрации или wm_KeyFirst только для клавиатуры или wm_MouseFirst только для мыши.
MsgFilterMiax: Нуль в случае отсутствия фильтрации или wm_KeyLast только для клавиатуры или wm_MouseLast только для мыши.
Возвращаемое значение: Не нуль, если сообщение не wm_Quit; 0 - в противном случае.

Посылает окну сообщение wm_Size. Значения ширины и высоты, переданные в wm_Size, совпадают с размерами области пользователя.

function MoveWindow(Wnd: HWnd; X, Y, Width, Height: Integer; Repaint: Bool);
Параметры:
Wnd: Идентификатор всплывающего или дочернего окна.
X, Y: Новый верхний левый угол окна.
Width: Новая ширина окна.
Height: Новая высота окна.
Repaint: Не нуль, если после перемещения окно нужно вновь раскрасить.

Посылает сообщение органу управления блока диалога, указанному параметром IDDlgItem. Возврат из функции осуществляется после обработки сообщения.

function SendDlgItemMessage(Dlg: HWnd; IDDlgItem: Integer; Msg, wParam: Word; lParam: Longint): Longint;
Параметры:
Dlg: Идентификатор блока диалога.
IDDlgItem: Целочисленный идентификатор элемента диалога назначения.
Msg: Тип сообщения.
wParam: Дополнительная информация о сообщении.
lParam: Дополнительная информация о сообщении.
Возвращаемое значение: Значение, возвращенное оконной функцией органа управления; нуль, если неверный IDDlgItem.

Посылает сообщение оконной функции указанного окна. Возврат из функции осуществляется только после обработки сообщения.

function SendMessage(Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Longint;
Параметры:
Wnd: Окно, принимающее сообщение или $FFFF для посылки всем всплывающим окнам в системе.
Msg: Тип сообщения.
wParam: Дополнительная информация о сообщении.
lParam: Дополнительная информация о сообщении.
Возвращаемое значение: Значение, возвращенное принимающей оконной функцией.

Определяет, обрабатывается ли сообщение, посланное через вызов SendMessage, текущей оконной функцией.

function InSendMessage: Bool;
Возвращаемое значение: Не нуль, если сообщение послано функцией SendMessage; 0 - в противном случае.

Определяет и обрабатывает сообщения для безрежимных блоков диалога, прееобразуя сообщения от клавиатуры в командные сообщения.

function IsDialogMessage(Dlg: HWnd; var Msg: TMsg): Bool;
Параметры:
Dlg: Идентификатор блока диалога.
Msg: Структура TMsg.
Возвращаемое значение: Не нуль, если сообщение обработано (TranslateMessage и DispatchMessage не должны вызываться); 0 - если нет.

Создает и отображает блок диалога, содержащий указанное сообщение и заголовок, а также предопределенные пиктограммы и текстовые кнопки, в соответствии с параметром TexType.

function MessageBox(Parent: HWnd; Txt, Caption: PChar; TextType: Word): Integer;
Параметры:
Parent: Окно, владеющее блоком сообщений.
Txt: Отображаемое сообщение (заканчивающееся пустым символом).
Caption: Заголовок блока диалога (заканчивающийся пустым символом) или nil для "Error" ("Ошибка").
TextType: Одна или комбинация констант mb_.
Возвращаемое значение: В случае успешного завершения одна из следующих констант: id_Abort, id_Cancel, id_Ignore, id_No, id_OK, id_Retry или id_Yes.

Направляет сообщение прикладной задаче. Wnd сообщения устанавливается в 0.

function PostAppMessage(Task: THandle; Msg, wParam: Word; lParam: Longint): Bool;
Параметры:
Task: Прикладная задача, которая будет принимать сообщение.
Msg: Тип сообщения.
wParam: Дополнительная информация о сообщении.
lParam: Дополнительная информация о сообщении.
Возвращаемое значение: Не нуль в случае успешного завершения; 0 - если нет.

Направляет сообщение окну прикладной задачи.

function PostMessage(Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Bool;
Параметры:
Wnd: Окно, которое будет принимать сообщение, или $FFFF для всех перекрываемых или всплывающих окон.
Msg: Тип сообщения.
wParam: Дополнительная информация о сообщении.
lParam: Дополнительная информация о сообщении.
Возвращаемое значение: Не нуль в случае успешного завершения; 0 - если нет.

Направляет сообщение wm_Quit обычно в ответ на сообщение wm_Destroy.

function PostQuitMessage(ExitCode: Integer);
Параметры:
ExitCode: Код выхода прикладной задачи (wParam сообщения wm_Quit).

Определяет уникальное оконное сообщение для всей системы.

function RegisterWindowMessage(Str: PChar): Word;
Параметры:
Str: Регистрируемая строка (заканчивающееся пустым символом).

Возвращаемое значение: В случае успешного завершения возвращает идентификатор сообщения ($C000 - $FFFF); 0 - в противном случае.

Отвечает на сообщение, посланное путем вызова SendMessage, позволяя задачам, вызвавшим SendMessage и ReplyMessage, обеим продолжать выполнение.

function ReplyMessage(Reply: Longint);
Параметры:
Reply: Возвращаемый результат, зависящий от сообщения.

Создает новую очередь сообщений прикладной задачи указанного размера. Старая очередь удаляется.

function SetMessageQueue(Msg: Integer): Bool;
Параметры:
Msg: Размер очереди.
Возвращаемое значение: Не нуль в случае успешного завершения; 0 - в противном случае.

Переводит комбинации wm_KeyDown/Up в wm_Char или wm_DeadChar и комбинации wm_SysKeyDown/Up в wm_SysChar или wm_SysDeadChar и направляет символьное сообщение в очередь прикладной задачи.

function TranslateMessage(var Msg: TMsg): Bool;
Параметры:
Msg: Информация TMsg, считанная из GetMessage или PeekMessage.
Возвращаемое значение: Не нуль в случае выполнения перевода; 0 - в противном случае.

Если область обновления окна непуста, то посылает сообщение wm_Paint прямо оконной функции данного окна.

function UpdateWindow(Wnd: HWnd);
Параметры:
Wnd: Идентификатор окна.

Определяет уникальное оконное сообщение для всей системы.

function RegisterWindowMessage(Str: PChar): Word;
Параметры:
Str: Регистрируемая строка (заканчивающееся пустым символом).
Возвращаемое значение: В случае успешного завершения возвращает идентификатор сообщения ($C000 - $FFFF); 0 - в противном случае.

К оглавлению


термотрансферная лента

Copyright © 2008-2011 Gruzincev Anton , St. Gorno-Altaysk, Russia, helpw@mail.ru