Главная страница
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.057 c
6-1156606780
DVM
2006-08-26 19:39
2007.01.28
Неблокирующие сокеты на WinAPi.


4-1158338051
@!!ex
2006-09-15 20:34
2007.01.28
GetSystemTime возвращает не правильное время


11-1144628785
Snipet
2006-04-10 04:26
2007.01.28
TreeView/ListView


5-1147125189
Константинов
2006-05-09 01:53
2007.01.28
Свойства - события


15-1168004495
Slider007
2007-01-05 16:41
2007.01.28
С днем рождения ! 5 января