На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Win Api / Как послать message всем? Сделать домашней страницей Добавить в избранное Написать писмо

Как послать message всем?


SA> Hадо послать мессагy всем заинтеpесованным объектам - pазличным
SA> классам - фоpмам, контpолам и т.д.? Пpобовал делать так:
SA> const
SA> FM_FINDPHOTO = $0510;
SA> SendMessage(HWND_BROADCAST,FM_FINDPHOTO,0,0);
SA> Hи чеpта не ловится, пока напpямyю хэндл не yкажешь :(

Для использовать hwnd_Broadcast нужно сперва зарегистрировать уникальное сообщение
FM_FindPhoto:=RegisterWindowMessage('MyMessageToAll');

Чтобы поймать это сообщение в другом приложении нужно перекрыть DefaultHandler

procedure TForm1.DefaultHandler(var Message);
begin
with TMessage(Message) do
begin
if Msg = Fm_FindPhoto then MyHandler(WPARAM,LPARAM) else
Inherited DefaultHandler(Message);
end;
end;

Для посылки сообщения дочерним контролам можно использовать процедуру Broadcast.

Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz