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

Вниз

Форма и обработка сообщений   Найти похожие ветки 

 
danger ©   (2007-01-09 12:44) [0]

Во время работы моей программы нужно, чтоб обрабатывались пользовательские сообщения. Делаю так: перекрываю WndProc главной формы своим обработчиком, в котором идет разбор сообщений. Все работает отлично, когда форма отображается на экране, но стоит свернуть приложение в значок - ничего не работает. Как сделать так, чтоб можно было посылать сообщения приложению, и организовать их обработку, вне зависимости от статуса главной формы или любой другой формы?


 
Джо ©   (2007-01-09 12:48) [1]

Гм. А чем не устраивает
 TForm1 = class(TForm)
 private
   procedure WmUserMsg (var Msg: TMessage); message WM_USERMSG;
?


 
Сергей М. ©   (2007-01-09 12:50) [2]


> стоит свернуть приложение в значок


Приложение нельзя "свернуть в значок".


> ничего не работает


У тебя ошибка в программе


 
danger ©   (2007-01-09 13:11) [3]


> Гм. А чем не устраивает  TForm1 = class(TForm)  private
>    procedure WmUserMsg (var Msg: TMessage); message WM_USERMSG;

Приходится обрабатывать большое количество разнообразных пользовательских сообщений, проще перекрыть обработчик и там разбирать сообщения по очереди, чем для каждого сообщения создавать обработчик.


 
Danger ©   (2007-01-09 13:17) [4]

Конкретизирую. Всю обработку событий повесил на WndProc главной формы, когда форма отображена на экране - все нормально обрабатывается, когда сворачиваем приложение - главная форма не отображается - оконный обработчик не работает - пользовательские сообщения не обрабатываются. Куда можно прицепить обработку пользовательских сообщений, чтобы все работало вне зависимости от статуса главной формы или других форм?


 
Сергей М. ©   (2007-01-09 13:23) [5]


> danger


Посылай сообщения не окну главной формы, а главному окну приложения (Application.Handle), разбор/диспетчеризацию сообщений осуществляй в обработчике Application.OnMessage


 
oxffff ©   (2007-01-09 13:32) [6]

Есть же еще и Tobject.DefaultHandler?


 
Danger ©   (2007-01-09 13:35) [7]


> Посылай сообщения не окну главной формы, а главному окну
> приложения (Application.Handle), разбор/диспетчеризацию
> сообщений осуществляй в обработчике Application.OnMessage

Вот это стоит попробовать.
Спасибо.



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

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

Наверх




Память: 0.48 MB
Время: 0.052 c
15-1168283686
Prohodil Mimo
2007-01-08 22:14
2007.01.28
что такое CD/MD управление


2-1167993756
Marat
2007-01-05 13:42
2007.01.28
непонятки с памятью


2-1168329857
-John-Doe-
2007-01-09 11:04
2007.01.28
Вопрос по указателям.


15-1168119106
Германн
2007-01-07 00:31
2007.01.28
Как приятно стало работать ночью!


15-1168296414
SSE
2007-01-09 01:46
2007.01.28
С каких процессоров началсь поддержка SSE1 ?