Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.10;
Скачать: CL | DM;

Вниз

Не могу получить сообщение:   Найти похожие ветки 

 
Still Swamp   (2007-11-07 23:13) [0]

Не могу получить сообщение:
Регистрирую:
FMessage:=RegisterWindowMessage(PChar(MY_0_MESSAGE+#0));

Отправляю:
SendMessage(HWND_BROADCAST, FMessage, 0, 0)

В обработчике сообщений все ловится кроме моего заветного. В чем дело?


 
Anatoly Podgoretsky ©   (2007-11-07 23:19) [1]

> Still Swamp  (07.11.2007 23:13:00)  [0]

И чему равно FMessage
И это условие выполнено?

If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows; but the message is not sent to child windows.


 
Still Swamp   (2007-11-07 23:23) [2]

Результат проверил больше С000 и меньше FFFF.
А вот .... ловлю в child.
А что же мне делать?


 
Eraser ©   (2007-11-08 00:13) [3]

возможно BroadcastSystemMessage[Ex] спасет.


 
Leonid Troyanovsky ©   (2007-11-08 10:33) [4]


> Still Swamp   (07.11.07 23:23) [2]

> А что же мне делать?

EnumChildWindows

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2007-11-08 11:03) [5]

> Still Swamp  (07.11.2007 23:23:02)  [2]

Сам отправляй своим окнам.


 
Still Swamp   (2007-11-08 11:55) [6]

BroadcastSystemMessage не спас.

>Сам отправляй своим окнам.
Ну тут как бы... у меня полсотни окошек которые загружаются из различных DLL их все собирать оч проблематично. Это придется каждое регистрить при загрузке в каком списке в родительском окне, а потом в родительском писать рассылку по этому списку. Торокан посетит.

А можно как нить Application использовать? У меня все окошки про Handle Applicaiton в курсе.


 
Сергей М. ©   (2007-11-08 14:19) [7]


> можно как нить Application использовать?


А як же ш ?
Евойное окно как раз и есть топ-левел


 
Still Swamp   (2007-11-08 15:37) [8]

А как из TApplication получить список хандлов всех окон?
Я честно говоря не совсем себе представляю процесс.

Вот так выглядит создание очередной формы в DLL.

function View(AHandle:HWND): pointer; stdcall;
begin
 Application.Handle:=AHandle;
 Result:=TMyForm.Create(Application);
end;


 
Leonid Troyanovsky ©   (2007-11-08 15:55) [9]


> Still Swamp   (08.11.07 15:37) [8]

> Вот так выглядит создание очередной формы в DLL.

> function View(AHandle:HWND): pointer; stdcall;
> begin
>  Application.Handle:=AHandle;
>  Result:=TMyForm.Create(Application);
> end;

В печку.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2007-11-08 15:56) [10]


> Ну тут как бы... у меня полсотни окошек которые загружаются
> из различных DLL их все собирать оч проблематично.

Тогда откажись от BROADCAST


 
Still Swamp   (2007-11-08 20:40) [11]

Тогда откажись от BROADCAST
Чем можно заменить?


 
Eraser ©   (2007-11-09 01:56) [12]

> [11] Still Swamp   (08.11.07 20:40)

[4] Leonid Troyanovsky ©   (08.11.07 10:33)


 
Anatoly Podgoretsky ©   (2007-11-09 08:55) [13]

Eraser ©   (09.11.07 01:56) [12]
Он отказался, сказал окон много, не по силам мне.


 
Slym ©   (2007-11-09 09:49) [14]

Если все знают об апликашене, почему бы им не знать о другом объекте, который бы и взял на себя диспетчеризацию событий...
Типа:
TEventDisp=class
private
 FClientList:TList;
public
procedure   Advise(SenderId:TObject;EventProc:TNotifyEvent);
 Undvise(SenderId:TObject);
end;

form.EventProc
begin
 Caption:="ya";
end;

form.Create
begin
EventDisp.Advise(self,EventProc);
end;
form.Destroy
begin
EventDisp.Unadvise(self);
end;



Страницы: 1 вся ветка

Текущий архив: 2008.08.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
15-1214050387
Илья Корстин
2008-06-21 16:13
2008.08.10
mui32.lib, glut32.lib, glut32.dll


15-1213998563
Германн
2008-06-21 01:49
2008.08.10
О сканерах


15-1214390321
Rox
2008-06-25 14:38
2008.08.10
Сохранение информации


15-1214055444
TUser
2008-06-21 17:37
2008.08.10
Просьба к счастливым обладателям Delphi


4-1194246203
Sunshine
2007-11-05 10:03
2008.08.10
Программная имитация COM порта.