Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Без окна [Delphi, Windows]


DNT ©   (2002-11-30 17:44:00) 

Объясните плз, как в программе без формы обрабатывать сообщения виндов?
Спасибо!


Vladimir Kladov   (2002-12-04 10:18:00) [1]

Вроде бы начальный вопрос был "без формы"?

while PeekMessage( Msg {:TMsg}, ..., pm_noremove ) do
if Msg.message = my_message then
...

или что-то в это роде. Зачем форма? А, некуда послать. Так это тоже просто: PostThreadMessage, форма не нужна, нужен id нити.


SPeller   (2002-12-01 13:14:00) [2]


> Это у меня с просони, или действительно Dummy нет? - так
> работать и не будет, а больше вылетать. См. ЧаВо.

Этот вопрос обязан быть в ФАКах на первом месте :-)


Gandalf   (2002-12-01 11:23:00) [3]


> Function WndProc( var Msg: tMsg; var Rslt: Integer ): Boolean;


Это у меня с просони, или действительно Dummy нет? - так работать и не будет, а больше вылетать. См. ЧаВо.


SPeller   (2002-12-01 04:01:00) [4]

Function WndProc( var Msg: tMsg; var Rslt: Integer ): Boolean;
begin
Result := False;
if msg.message=wm_user then
begin
//...
Result := True;// По необходимости, если больше не надо обрабатывать это сообщение.
end
;


DNT   (2002-11-30 19:12:00) [5]

Подкинь плз кусочек кода. Мой не работает:

Function WndProc( var Msg: tMsg; var Rslt: Integer ): Boolean;
begin
if msg.message=wm_user then
begin
//...
end;

end;

begin
form:=NewForm(Applet,"Advanced Memory Manager v2.0");
form.OnMessage :=TOnMessage(MakeMethod(nil,@WndProc));
run(form);
end.


Gandalf   (2002-11-30 19:09:00) [6]


> Как мне например отловить WM_USER или WM_USER+1?


Как обычно, OnMessage.


DNT   (2002-11-30 18:06:00) [7]

Спасибо.
Только вот не получается.
Как мне например отловить WM_USER или WM_USER+1?
Примерчик бы небольшой, я разберусь.

Спасибо!


SPeller   (2002-11-30 17:49:00) [8]

Ну как, как... Делаешь невидимое окно и обрабатываешь OnMessage. По-дргомы ты никаких сообщений не получишь.


Наверх

Титульная страница Поиск, карта сайта Написать письмо