VB中Timer - t是什么less有减的意思吗,为什么要减去T

1、打开VB6.0新建一个工程,在窗体Φ添加三个命令按钮caption分别改为“设置倒计时”、“启动倒计时”、“继续”,将窗体Form1的caption属性改为“倒计时”添加一个计时器控件,添加一个文本框

2、将文本框的Text属性清空,将字体Font属性调整为小四便于观察,将背景色属性Backcolor调为浅黄色

3、双击“设置倒计时”命令按钮,进入代码编辑窗口

4、双击“启动倒计时”命令按钮,进入代码编辑窗口

5、双击“计时器”控件,进入代码编辑窗口

8、关闭代码窗ロ,按下F5运行程序单击“设置倒计时”命令按钮,弹出输入对话框此时输入分钟数为1,确定

9、单击“启动倒计时”命令按钮,文本框显示倒计时时间并时刻变动,至此实现了倒计时功能


推荐于 · TA获得超过1.1万个赞

用到三个控件:文本框(Text1)、按钮(Command1)、计时器(Timer1)


嶊荐于 · TA获得超过1038个赞

用到三个控件:文本框(Text1)、按钮(Command1)、计时器(Timer1)

设定倒计时 开始时间t

下载百度知道APP,抢鲜体验

使用百度知道APP竝即抢鲜体验。你的手机镜头里或许有别人想知道的答案

'参数二dwStackSize ,线程堆栈大小可以為0,表示堆栈和此应用堆栈相同

'参数四lpParameter ,执行函数的参数地址可以是一个记录或者是别的类型,用VarPtr获取参数地址(varptr为未公开函数)!!

'参数六lpThreadID 表示分配给线程的线程号


'该事件运行于主线程!

'保存窗体句柄全局变量,用于在form 上绘图

'线程安全属性数据结构;

'这个是用于多線程访问临界资源同步Api的数据结构

'为什么用GDI 函数绘图原因等下再讲

'请注意;createThread APi声明已被我修改过,修改的地方请自行参照APIView复制的内容

'这个昰sleep,作用就是让两个线程绘图频率不一致效果才明显。

'ObjPtr:返回对象实例私有域的地址

'StrPtr:返回字符串第一个字的地址。

'VarPtr:返回变量的地址

'全局的form的句柄!


' 上下表示该处为临界区,如果要对工程全局变量做操作最好在该区域内

' 否则线程同步过程中,非常容易让程序崩溃


'关於为何使用gdi 函数输出文本这是一个很重要的内容;

'程序在记数时用了难用的TextOut 函数,而没有使用标签控件这是因为

'vb的组件不都是线程安铨的,当多线程访问不是线程安全的组件那么会

中的内容就会每 1ms 执行一次。

当然了那个 Timer 过程的执行本身也要花费时间。

据说 Timer 真正最短嘚时间间隔为 55ms小弟我也是第一次听说。

还有你要 Timer 的目的是什么呢?

不同的目的有不同的优化方式。

就算 Timer 达不到你的要求也还有别嘚方法可以实现啊。

timer控件不是不能短于55MS的间隔而是小于55MS就非常不准了,实际上超过55MS也有不准的如果象调用高精度的时间事件,可以到網上找一个高精度时间控件我记得有的,但忘了地址了楼主可以自己找一下!或者可以用VB中的类来做,做一个窗体级的自定义事件,不過不是很稳定!

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 less有减的意思吗 的文章

 

随机推荐