Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

Нужно получать Idle сообщения   Найти похожие ветки 

 
yaJohn ©   (2003-06-11 17:52) [0]

Вах! Стыдно мне, стыдно... Уперся, вот, в примитивный вопрос: наследуем компонент порожденный от TWinControl. Нужно получать Idle сообщения. Что перехватывать то надо???
WM_IDLE я не нашел...


 
MBo ©   (2003-06-11 18:23) [1]

можно поподробнее, зачем это нужно?


 
yaJohn ©   (2003-06-11 18:32) [2]

Пишу компонент. У него есть property позволяющее привязать его в DesignTime к другому компоненту.
property Target: TComponent read.... write....
Из моего компонента мне нужно отслеживать состояние Target. Никакой особо жесткой временной привязки нету. Мой компонент должен визуально отобразить изменение состояние Target, не более.
Видятся следующие методы:
1) Делегирование событий. Это плохо. Очень. Юзер моего компонента тоже хочет с событиями Target работать.
2) Если Target - окно - хук на него. Это заморочно.
3) Таймер. Это как-то неизящно...
4) Поскольку мы никуда не спешим - айдл представляется наиболее перспективным.

Вот.


 
Suntechnic ©   (2003-06-11 18:34) [3]

Да нет никаких Idle сообщений в Win API. Idle processing это трюк Borland-а чтобы облегчить нам жизнь в некоторых аспектах реализации. Так что я бы присоединился к вопросу MBo © (11.06.03 18:23).


 
yaJohn ©   (2003-06-11 18:39) [4]

>Да нет никаких Idle сообщений в Win API
Ага. Нету. Это значит что я не совсем туп, просто АПИ не знаю ;)
Значит придется подчинится зову природной лени и сделать на таймере.


 
MBo ©   (2003-06-11 18:44) [5]

единственное, что есть в API - WM_ENTERIDLE, но это совсем из другой оперы - соообщение родителю диалога или меню.

Target компонент - любой или свой конкретный?
Если второе, ему нужно придать функциональность, подобную Notification-механизму.
Иначе - какие именно изменения состояния нужно отслеживать?


 
VMcL ©   (2003-06-11 18:52) [6]

Application.OnIdle ?


 
yaJohn ©   (2003-06-12 11:40) [7]

Нет, к сожалению Target не мой. В общем случае - любой TComponent.
Отслеживается состояние одного из property. Какого именно задается в моем компоненте в DesignTime (через RTTI).
Условно говоря - мой компонент - обсервер.
В целом задача уже решена. У моего компонента есть метод Update, который делает все что нужно. Соответственно, юзеру осталось вызвать его в нужный момент. Однако, хотелось сделать маленький подарок совсем ленивым...
2 VMcL
Пишется компонент, и нет никаких гарантий того, что пользователь не использует в своем проекте Application.OnIdle.

А вообщето меня давно уже нервирует отсувствие в delphi механизма множественного делегирования...



Страницы: 1 вся ветка

Текущий архив: 2003.06.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
3-83887
Fuelfire
2003-06-02 13:35
2003.06.26
Как экспортнуть данные из таблицы Paradox?


1-84145
DeScriptor
2003-06-08 06:00
2003.06.26
Затруднения с файлом, существование которого находится под сомнен


1-84322
And
2003-06-16 07:26
2003.06.26
Подскажите что лучше использовать?


6-84509
FZ*XupypG
2003-04-20 08:53
2003.06.26
Доступ к папке с паролем


14-84754
Def_E
2003-06-03 14:31
2003.06.26
Кому нужен был хороший бесплатный хостинг???