Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.009 c
15-1214405915
TUser
2008-06-25 18:58
2008.08.10
Если вас только 50 тысяч, то вы - лохи


2-1215686856
TUserClass
2008-07-10 14:47
2008.08.10
Установить поле соответствия (Lookup := true) в DataSet ...


6-1191581798
OSA
2007-10-05 14:56
2008.08.10
Indy 9.0.18 или Indy 10.x.x ?


2-1215492775
uno-84
2008-07-08 08:52
2008.08.10
Оповещение в нижнем правом углу экрана


15-1214489688
de.
2008-06-26 18:14
2008.08.10
MS SQL 2000





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский