Форум: "Начинающим";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
ВнизФорма и обработка сообщений Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c