怎么不能间隔显示?

jamesyue2008 2015-08-29 11:34:08
初始7个图牌是Visible False, 想让7个图片间隔1秒呈现,为何不行?谢谢指教

TImage *TM[7] = {Image1, Image2, Image3, Image4, Image5, Image6, Image7}
for (int i = 0; i < 7; i++)
{
TM[i]->Visible = true;
TM[i]->Left = 115+35*i;
TM[i]->BringToFront();
Sleep(1000);
}
...全文
64 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jamesyue2008 2015-08-31
  • 打赏
  • 举报
回复
引用 1 楼 uhian 的回复:
1个Visible为true的时候其他的应该Visible为false?
图片不是完全重叠的,TM[i]->Left = 115+35*i 按这样错开的。
jamesyue2008 2015-08-31
  • 打赏
  • 举报
回复
引用 2 楼 kfrght 的回复:
在循环里加上试试:Application->ProcessMessages(); // 在长时间循环中响应消息 如果还不行,就在调出i的时候,先把!=i的隐藏起来
可以了,加上Application->ProcessMessages()就可以了。 谢谢!
宝龙哥 2015-08-29
  • 打赏
  • 举报
回复
这样

TImage *TM[7] = {Image1, Image2, Image3, Image4, Image5, Image6, Image7}

for (int i = 0; i < 7; i++)
{
Application->ProcessMessages(); // 在长时间循环中响应消息
for (int j = 0; j < 7; j++)
{
Application->ProcessMessages(); // 在长时间循环中响应消息
    if(j==i)
    {
TM[j]->Visible = true;
    }else{
TM[j]->Visible = false;
    }

}


TM[i]->Left = 115+35*i;
//TM[i]->BringToFront();
Sleep(1000);
}

宝龙哥 2015-08-29
  • 打赏
  • 举报
回复
在循环里加上试试:Application->ProcessMessages(); // 在长时间循环中响应消息 如果还不行,就在调出i的时候,先把!=i的隐藏起来
uhian 2015-08-29
  • 打赏
  • 举报
回复
1个Visible为true的时候其他的应该Visible为false?

13,826

社区成员

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

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