居然还有WM_TIMECHANGE(只在用户手动改变系统时间时才会产生作用)
2015-08-21 17:05
441 查看
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.
参考:http://www.cnblogs.com/key-ok/p/3417728.html
相关文章推荐
- python爬虫1
- 友盟各个插件的使用方法
- c++ 四大函数练习
- 日期 12 小时制 24 小时制
- android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
- 线程6:互斥量,解决线程冲突
- CodeForces 6C - Alice, Bob and Chocolate
- 分析运行结果,说明原理。(没有分析结果不得分) import java.util.ArrayList; class Data { int
- nginx 作为web服务器
- 项目功能
- 编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。
- 多台计算机之间利用ssh实现无密码登录
- C#中抽象类与接口的区别
- iOS中的通信模式解析
- powerdesigner显示注释
- 011折半插入排序
- 微信JSAPI支付(JAVA版)
- git图示所有分支的历史
- smarty基本语法之判断,循环语句
- iOS 自定义提示框