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

Вниз

TTimer в API приложении.   Найти похожие ветки 

 
Mazenrat   (2002-09-16 15:36) [0]

Привет.

Как в приложении на чистом API использовать TTimer, организовать событие OnTimer? Если у кого-то есть пример, пожалуйста, представьте.


 
Xemax   (2002-09-16 15:49) [1]

пусть твой обработчик сообщений обрабатывает WM_TIMER.


 
Kaban   (2002-09-16 16:00) [2]

unit WinTimer;
interface
uses Windows, Classes;

type
TWinTimer=class
Parent:integer;
constructor Create(hParent:integer);
destructor Destroy; override;
private
TimerID:integer;
FInterval:integer;
FEnabled:boolean;
procedure SetEnabled(b:boolean);
procedure SetInterval(i:integer);
published
property Enabled:boolean read FEnabled write SetEnabled;
property Interval:integer read FInterval write SetInterval;
End;

var
iTimers : Integer;

implementation

constructor TWinTimer.Create(hParent:integer);
begin
FInterval:=1000;
Parent:=hParent;
FEnabled:=false;
Inc(iTimers);
TimerID:=iTimers
end;

procedure TWinTimer.SetEnabled(b:boolean);
begin
If FEnabled=b Then Exit;
FEnabled:=b;
If b Then
SetTimer(Parent,TimerID,FInterval,nil)
Else
KillTimer(Parent,TimerID)
end;

procedure TWinTimer.SetInterval(i:integer);
begin
If FInterval=i Then Exit;
FInterval:=i;
If NOT FEnabled Then Exit;
KillTimer(Parent,TimerID);
SetTimer(Parent,TimerID,i,nil)
end;

destructor TWinTimer.Destroy;
begin
KillTimer(Parent,TimerID)
end;


end.


 
Kaban   (2002-09-16 16:09) [3]

var
iTimers : Integer = 0;



 
REA   (2002-09-16 16:51) [4]

Исходник в Delphi как раз и есть. Они не сильно будут отличаться.



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

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

Наверх





Память: 0.45 MB
Время: 0.007 c
14-92646
incognito2
2002-10-06 20:02
2002.10.28
Очень надо!!! Придумайте хоть алгоритм.


14-92737
Tornado
2002-10-09 12:49
2002.10.28
Уважаемые Мастера, очень нужна ваша помощь !!!


1-92544
SkyQuake
2002-10-14 15:46
2002.10.28
ntdll.DbgBreakPoint


3-92369
Осирис
2002-10-04 12:07
2002.10.28
Как лучше сделать


3-92396
zdn
2002-10-08 14:41
2002.10.28
---|Ветка была без названия|---





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский