![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Все события прекращены?
sia © (2007-11-22 11:34:00)Как определить, что все события, вызванные пользователем на форме, прекращены? Т.е. клики по элементам управления, лежащим на форме, ресайзы, перемещения окна.
Amoeba (2007-11-22 16:47:00) [1]
> Сергей М. © (22.11.07 12:53) [9]
>
>
> > sia © (22.11.07 12:34) [7]
>
>
> Этот компонент называется TApplication.
>
Между прочим, так сказать, к слову, есть компонент TApplicationEvents.
Denis__ (2007-11-22 16:12:00) [2]
>
> надеялся, что есть какая-нибудь копонента или еще что-то
> централизованное.
А я вот слышал, кто-то где-то сделал такую кампненту, что её кидаешь на форму и она работает! Нада тока задать имя , каторое будет иметь твая суперпрога! И написать ищё, какое действие те нужно! например пишиш "Calculator" и у тя на проге есть калькулятар! Класна, да? Зашибись!
KSergey (2007-11-22 15:36:00) [3]А это... чета я перемудрил, пожалуй
ПРосто же: стало главное окно неактивным + не открыто дочерних форм - запускаем таймер. Вот и все!
т.к. как только пользователь хоть что-то делает в окне или с окном - по любому оно активизируется.
misha_gr (2007-11-22 15:32:00) [4]procedure TMainForm.OnMessage(var Msg: TMsg; var Handled: Boolean);
begin
case Msg.message of
WM_MOUSEACTIVATE,
WM_MOUSEMOVE,
WM_MOUSEWHEEL,
WM_KEYDOWN,
WM_KEYUP,
WM_LBUTTONDOWN,
WM_LBUTTONUP,
WM_RBUTTONDOWN,
WM_RBUTTONUP:
begin
LastActiveTime := Now;
end;
Десь тако.
KSergey (2007-11-22 15:31:00) [5]> sia © (22.11.07 13:10) [11]
> за OnMessage спасибо.
> буду разбираться с его TMsg.
Наверное есть смысл выделить "смысловые" сообщения, которые может инициировать пользователь (их вроде не так много) - и на них
> Reindeer Moss Eater © (22.11.07 11:52) [4]
> в каждом обработчике ОнЧего-тоТамУТебя обнуляй счетчик тиков.
Как минимум вижу:
WM_(L/R/M)BUTTONDBLCLK
WM_(L/R/M)BUTTONDOWN
WM_(L/R/M)BUTTONUP
WM_KEYDOWN
WM_KEYUP
WM_CHAR
возможно так же WM_SIZE/WM_SIZING/WM_VSCROLL/WM_HSCROLL
Да, и к стати: все это только в случае неактивности приложения! :) А. ну и плюс когда не открыто доп. модальных окон, видимо...
А то мало-ли почему я отвлекся от окна ввода настроек приложения - а оно и исчезло :)
Это что в голову пришло.
Ну и периодически вылавливать моменты, когда приложение неожиданно исчезает - выявлять как так и чего еще нет в списке.
sia (2007-11-22 13:10:00) [6]за OnMessage спасибо.
буду разбираться с его TMsg.
Johnmen (2007-11-22 12:56:00) [7]
> Сергей М. © (22.11.07 12:53) [9]
Щас спросит, где её взять.
Сергей М. (2007-11-22 12:53:00) [8]
> sia © (22.11.07 12:34) [7]
Этот компонент называется TApplication.
homm (2007-11-22 12:36:00) [9]> [7] sia © (22.11.07 12:34)
> я думаю, что такая компонента должна работать так, как я
> описал требования к ней в своем вопросе: отслеживать клики
> по элементам управления, лежащим на форме, ресайзы, перемещения
> окна.
Application.OnMessage?
sia (2007-11-22 12:34:00) [10]пишу в форум для того чтобы получить помощь и совет, а не для ответного сарказма.
я думаю, что такая компонента должна работать так, как я описал требования к ней в своем вопросе: отслеживать клики по элементам управления, лежащим на форме, ресайзы, перемещения окна.
homm (2007-11-22 12:17:00) [11]Это у нас универсальное лекарство-таблетка, «компонента». На все у нас компонента есть, и которая делает, и котороая думает.
А как по твоему должна работать эта компонента?
sia (2007-11-22 12:07:00) [12]спасибо.
надеялся, что есть какая-нибудь копонента или еще что-то централизованное.
Reindeer Moss Eater (2007-11-22 11:52:00) [13]в каждом обработчике ОнЧего-тоТамУТебя обнуляй счетчик тиков.
sia (2007-11-22 11:49:00) [14]мне надо сделать скрытие формы, типа как в аське, по таймеру.
Сергей М. (2007-11-22 11:41:00) [15]см. Application.OnIdle
Reindeer Moss Eater (2007-11-22 11:41:00) [16]прекращены на какое время?