delphi中Time消息的使用方法

  

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;
const
 TIMER_ID = 200;
type
 TForm1 = class(TForm)
    Label1: TLabel;
    btkilltime: TButton;
    btsettime: TButton;
    procedure Button1Click(Sender: TObject);
    procedure btkilltimeClick(Sender: TObject);
    procedure btsettimeClick(Sender: TObject);
 private
    { Private declarations }
 public
{ Public declarations }
// WM_TIMECHANGE 只在用户手动改变系统时间时才会产生作用,且只需直接定义就起作用。
procedure WMTIMECHANGE(var Message: TWMTIMECHANGE); message WM_TIMECHANGE;
// WM_TIMER 需配合 KillTimer SetTimer 才能起作用;它保持与系统时间同步触发事件;
    procedure WMTimer(var Message: TWMTimer); message WM_TIMER;
 end;   
var
 Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.WMTIMECHANGE(var Message: TWMTIMECHANGE);
begin
 ShowMessage('sss');
end ;
 
procedure TForm1.WMTimer(var Message: TWMTimer);
begin
   Label1.Caption:=TimeToStr(now);
end ;
 
procedure TForm1.btkilltimeClick(Sender: TObject);
begin
// KillTimer 作用:向 WINDOWS 删除时间消息;参数 200 必须与 SetTimer 中参数 200 保持一致,此参数代表所注册的消息 ID
KillTimer(self.Handle, 200); // KillTimer(self.Handle, TIMER_ID);
end ;
 
procedure TForm1.btsettimeClick(Sender: TObject);
begin
   // SetTimer 作用:向 WINDOWS 注册时间消息;参数 1000 代表每隔 1 秒触发一次 WM_TIMER 消息;
 SetTimer(self.Handle, 200, 1000, nil); // SetTimer(self.Handle, TIMER_ID, 1000, nil);
end ;
 
end .
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值