Показать сообщение отдельно
Старый 21.02.2005, 20:54     # 3
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Можно так, наверное:
Цитата:
// 1. Определение типа структуры вашего сообщения, может быть следующим:
type
TWMMYMessage = record
Msg: Cardinal; // ( идентификационный номер сообщения -- ID )
Handle: HWND; // ( заголовок (wParam, Handle) отправителя)
Info: Longint; // ( это lParam, указатель на наши данные)
Result: Longint;
end;
// 2. Теперь нужно перекрыть DefaultHandler и добавить
// новый метод для обработки вашего сообщения, например так:
TForm1 = class(TForm)
...public
{ Public declarations }
...procedure DefaultHandler(var Message); override;
procedure WMMYMessage(var Msg: TWMMYMessage);
...end;
// 3. Объявление переменной сообщения :
var
WM_OURMESSAGE: DWORD;
// 4. Реализация метода заголовка DefaultHandler и сообщения:
procedure TForm1.DefaultHandler(var Message);
var
ee: TWMMYMessage;
begin
with TMessage(Message) do
begin
if (Msg = WM_OURMESSAGE) then
begin
ee.Msg := Msg;
ee.Handle := wParam;
ee.Info := lParam;
// Checking if this message is not from us
if ee.Handle <> Handle then
WMMYMessage(ee);
end
else
inherited DefaultHandler(Message);
end;
end;
procedure TForm1.WMMYMessage(var Msg: TWMMYMessage);
begin
label1.Caption := Format('Our another form handle :%d', [Msg.Handle]);
Label2.Caption := Format('Our another form top :%d', [Msg.Info]);
end;
// 5. Регистрация широковещательного сообщения (HWND_BROADCAST)
initialization
WM_OURMESSAGE := RegisterWindowMessage('Our broadcast message');
// 6. Для отсылки сообщения:
procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(HWND_BROADCAST, WM_OURMESSAGE, Handle, Top);
end;
__________________
Старые игры раздают здесь
CEO вне форума