关于BCB中延时函数Sleep()的问题

itbear 2006-09-05 08:40:05
我的程序大概是这样:

语句1;//改变控件Shape1的Color
Sleep(1000);//延时1秒
语句2;//改变控件Shape2的Color

但是程序运行时,并不是Shape1的颜色先改变,然后延时1秒,最后Shape2的颜色接着改变;而是一运行,程序似乎死了一样,过1秒左右,Shape1和Shape2的颜色同时改变。

为什么得不到预期的结果呢?请高人指点迷津。
...全文
826 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jaffy 2006-09-06
  • 打赏
  • 举报
回复
Application->ProcessMessages();
让应用程序响应消息
jiangshx 2006-09-06
  • 打赏
  • 举报
回复
同意楼上,如果你希望在等待1秒的时间里,还可以点击其它事件,用一楼的!
shensh 2006-09-06
  • 打赏
  • 举报
回复
或者用cczlp(不惑) 的方法,或者用一个变量控制,这样:

static bool sflag = false;

if(!sflag)
语句1;//改变控件Shape1的Color
else
语句2;//改变控件Shape2的Color
Sleep(1000);//延时1秒
cczlp 2006-09-05
  • 打赏
  • 举报
回复
语句1;//改变控件Shape1的Color
Shape1->Update();
Sleep(1000);//延时1秒
truelove7283159 2006-09-05
  • 打赏
  • 举报
回复
语句1;//改变控件Shape1的Color
Application->ProcessMessages();//在你的程序睡觉之前,调用这个等以前的工作都做完。
Sleep(1000);//延时1秒
语句2;//改变控件Shape2的Color

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧