level 5
一个timer,interval 1000
第一种:me.left=0
第二种:if me<>0 then me.left=0
哪个好点?
2020年05月19日 13点05分
1
level 11
两者几乎没有差别,如果不是大量循环执行,可以不加分别。
另:if me<>0 then
是
if me.left<>0 then
吗?
me.left是单精度数据,不建议直接用不等于来比较,而应当用abs(xx)<1e-5只来的方法来判断是否为零。
2020年05月19日 13点05分
2
level 13
me.left=0 原意是不管me.left的值是否为0都要移动窗口位置(实际消息跟踪时会发现,当me.left已经为0时,不会有消息wm_move,也就没有调用系统API movewindow或setwindowpos,只有当left值变化有才会执行里的移动窗口功能)
if me.left<>0 then me.left=0 是当me.left的值不等于0时才移到0的位置,最主要功能是判断是否移动屏幕边界用的
2020年05月19日 14点05分
4