因为这个程序只需要一个timer控件就可以了,所以为了小巧,不要窗体。
那么如何在不要窗体的情况下创建这个timer控件,并且为他设置好interval属性和ontimer事件呢?
请给出代码,要详细,谢谢!
好用就立即给分!
那么如何在不要窗体的情况下创建这个timer控件,并且为他设置好interval属性和ontimer事件呢?
请给出代码,要详细,谢谢!
好用就立即给分!
解决方案 »
- 关于VCLskin的问题,请高手帮忙
- 打开一个程序前,如何通知关闭另外一个程序?并且如何知道通知的程序是否可以关闭?
- Edit框是否有让文本显示在右端的属性?
- 我用advstringgrid控件,想使一个cell在输入后内容变为*.00的样式。
- dll窗体 界面 问题 Dev系列风格uxtheme.dll报错
- 进度条的问题
- DELPHI 可以用类指针吗?如果可以,怎么用?
- 急,急,如何连接数据库
- DELPHI 调用过程ADOStoredProc1的问题??
- 关于datetimepicker控件的问题--好急在线等
- delphi中Adodb控件调用存储过程经常超时,调节ConnectionTimeOut时间,结果无效!
- 求救
你可以自己设计timer控件,用api写窗体!!
procedure TimerEnable( int interval );
begin
SetTimer( handle,TIMER_ID,interval,NULL);
end;procedure TimeMessage( var msg: TMessage );
begin
if ( msg.wParam = TIMER_ID ) then
begin
// .....
end;
end;procedure TimerClose();
begin
KillTimer( handle, TIMER_ID );
end;
Unit1 in 'Unit1.pas';{$R *.res}var
timer:ttimer;
obj:tmyclass;
msg:tmsg;
begin timer:=ttimer.Create(nil);
obj:=tmyclass.Create;
timer.OnTimer:=obj.timerproc;
timer.Interval:=1000; timer.Enabled:=true;
while getmessage(msg,0,0,0) do
begin
translatemessage(msg);
dispatchmessage(msg); end;end.
////////////////////////
unit Unit1;interface
uses
windows,sysutils,extctrls,classes,controls;
type
TMyclass=class
private public procedure timerproc(sender:tobject); end;
implementation{ MyTimer }procedure TMyclass.timerproc(sender: tobject);
begin
messagebeep(MB_OK);
end;end.
/////////////////////////
不过这将永远循环!!
begin
translatemessage(msg);
dispatchmessage(msg); end;这个循环里面加上一个计数,到达strtoint(paramstr(1))的时候就exitprocess(0)!!
sysutils,
windows,
Unit1 in 'Unit1.pas';{$R *.res}
const
times=10;
var
timer:ttimer;
obj:tmyclass;
msg:tmsg;
t:integer;
begin
t:=0;
timer:=ttimer.Create(nil);
obj:=tmyclass.Create;
timer.OnTimer:=obj.timerproc;
timer.Interval:=1000; timer.Enabled:=true;
while getmessage(msg,0,0,0) do
begin
inc(t);
try
if t>strtoint(paramstr(1)) then exitprocess(0);
except
exit;
end; translatemessage(msg);
dispatchmessage(msg); end;
timer.Free;
obj.Free;
end.