Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Все события прекращены?


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]

прекращены на какое время?


Наверх

Титульная страница Поиск, карта сайта Написать письмо