本帖最后由 bcrun 于 2012-06-18 17:17:34 编辑

解决方案 »

  1.   

    Print 函数你知道什么意思了吧?对,就是将文字输出到窗口。
    但是会带来一个问题,这些输出文字的坐标是什么?能不能指定输出文字的位置?
    答案是:在默认情况下,系统会从第一行开始输出,然后每用一次 Print 就自动向下换行输出。
    如果要指定位置输出,必须指定输出的行列坐标,坐标系统单位会根据窗口坐标系统单位变化。
    而设置输出行列坐标的方法就是通过设置对象的 CurrentX 属性和 CurrentY 属性来实现。
    比如:
    me.CurrentX = 200*15   ' 这里 *15 是将系统默认的“提”单位转换成“像素”单位
    me.CurrentY = 100*15
    Print "测试文本"
    所以上面程序实现了在窗口内水平坐标 200 像素,垂直坐标 100 像素的地方输出“测试文本”这几个字。
    至于:DoEvents,是让程序接收相关系统消息的作用,比如窗口关闭消息或按钮按下的消息等,如果没有
    这一句,程序没有执行完,窗口是接收不到消息的。就会有假死状态的出现,一直到执行完成,当然你在
    窗口上绘图或按钮样式变化的过程都看不到了,甚至连任何点击也不会立即有反应,因为系统没空去处理
    这些刷新、关闭呀、点击呀呀什么的消息,只有等程序执行完,才会从系统消息队列里连续收到这些消息,
    因为消息速度问题,有些消息甚至最后也没有时间去执行,在此过程中。整个程序也就像程序死掉的效果,
    一动不动,看起来很郁闷的,呵呵。但是执行速度会比有DoEvents要快,因为确实节省了很多处理过程,
    速度肯定要快一点,只是这时候对于人机交互就差一点了。你也可以尝试不用DoEvents来看看执行效果,
    这样你的体会会更深一点。