Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];

Вниз

Idle   Найти похожие ветки 

 
anod   (2002-08-14 23:10) [0]

Приведите пожалуйста пример как реализовать Idle. Надо обрабатывать сообщение WM_ENTERIDLE, но как его вызвать...


 
Raptor   (2002-08-14 23:45) [1]

А для чего его вызывать? Винда сама его вызывает если в очереди сообщений окна нет необработаных сообщений. Просто описываешь обработку WM_ENTERIDLE в процедуре окна и все.


 
anod   (2002-08-15 00:54) [2]

Нет наверное мне нужен не Idle. мне нужен постоянный цикл, типа таймера, чтобы все время работы программы работал и он??


 
anod   (2002-08-15 00:57) [3]

Я для проверки сделал так:
WM_ENTERIDLE:begin
ShowMessage("11");
end;
мессага показывалась только тогда, когда происходили события (например нажатие кнопки или вызов системного меню)


 
watcher   (2002-08-15 13:33) [4]

TApplication.OnIdle

Occurs when an application becomes idle.

type TIdleEvent = procedure (Sender: TObject; var Done: Boolean) of object;
property OnIdle: TIdleEvent;

Description

Write an OnIdle event handler to perform special processing when an application is idle. An application is idle when it is not processing code. For example, an application is idle when it is waiting for input from the user.

The TIdleEvent type is the type of the OnIdle event. TIdleEvent has a Boolean parameter Done that is True by default. When Done is True, the application allows all action components to update themselves after the OnIdle event handler returns. After updating the actions, the application calls the Windows API WaitMessage, which yields control to other applications until a new message appears in the message queue of the application. When Done is False, the application actions do not receive an OnUpdate event and the application does not yield control to other applications while it is not busy.

OnIdle is called only once, as the application transitions into an idle state. It is not called continuously unless Done is set to False. Applications that set Done to False consume an inordinate amount of CPU time, which affects overall system performance.

Note: You can also respond to this event using the TApplicationEvents component, which allows you to assign an event handler using the IDE.


 
anod   (2002-08-15 15:12) [5]

К чему это???


 
DiamondShark   (2002-08-15 23:18) [6]

А в основном цикле приложения?
Только использовать не GetMessage, а PeekMessage


 
Raptor   (2002-08-15 23:33) [7]

2 watcher
Если ты не в курсе то здесь форум по WinAPI.

2 anod

> Нет наверное мне нужен не Idle. мне нужен постоянный цикл,
> типа таймера, чтобы все время работы программы работал и
> он??

Так постоянный цикл или таймер? Если постоянный цикл, то тогда делай как сказал DiamondShark или сделай отдельную нить. Если таймер, то сделай таймер (SetTimer), только не через WM_TIMER, а через указание callback-процедуры таймера.



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

Форум: "WinAPI";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
3-7774
greengen
2002-09-14 14:37
2002.10.03
Перенос данных


3-7862
cherepovets
2002-09-13 11:57
2002.10.03
DBGrid


1-8044
Yuraz
2002-09-20 13:09
2002.10.03
Как прочитать формат TTF (шрифт)


7-8203
V.Turecky
2002-07-27 12:16
2002.10.03
Звук системным динамиком...


3-7870
elektro
2002-09-12 11:49
2002.10.03
Компоненты FIBPlus 4.6





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский