DOVENTS有点类似于多线程之间的,线程挂起的作用。
当你使用DOEVNTS这个语句时,系统会把你这个线程暂时存入寄存器,开始切换到后面的任务上。
比如这个代码,如果你不用这个语句的话,当系统未完成合格画图的任务时,是不会响应你任何其他的动作,比如点击啦等等。但是如果你用了这个语句的话,在每次Call BitBlt(P2.hDC, j, 0, 1, H, P1.hDC, j, 0, COPY_PUT)完后,会暂时响应外面的动作,直到外面的任务完成,才继续下面的循环。
在这里,如果你不用这个语句,而这个画图的任务要持续很长时间的话,你就会感觉整个界面被冻住的感觉,连移动FORM等都不允许。
不过请注意,这个语句千万不要乱用,他是一个很“横”的语句,非常消耗资源,而且可能造成系统的崩溃。如果你是大型的程序,建议使用多线程方式来进行,系统会自动切换时间片。
请给我点分数吧,我只有1分了。呵呵