Главная страница
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.041 c
11-1145021247
AndreyRus
2006-04-14 17:27
2007.01.28
Выравнивание по правому краю


1-1165420209
newbie2
2006-12-06 18:50
2007.01.28
Поясните почему так не работает? (2)


15-1167758067
kaZaNoVa
2007-01-02 20:14
2007.01.28
Пространств вариантов или свобода выбора


2-1168501791
Apachi
2007-01-11 10:49
2007.01.28
сохранение результатов работы командной строки


2-1168606314
Anton22
2007-01-12 15:51
2007.01.28
Символы Юникод