读书人

splash 窗体的使用,该如何处理

发布时间: 2012-05-24 11:55:41 作者: rapoo

splash 窗体的使用
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TForm2 *splash = new TForm2(Application);

splash->Show();
splash->Update();

splash->ShockwaveFlash1->Movie = "D:\\25.swf";

splash->Update();

Sleep(5000);////////////////////////////

splash->Close();

}

程序在Sleep(5000);的部分有一段代码,时间较长,有5秒钟左右,所以就调用TForm2来完成中间等待过程,并播放一个Flash
但是,直到这个splash窗体关闭,这个falsh也没有播放,请大家帮我想想办法!谢谢了



[解决办法]
Sleep占用主线程。将
Sleep(5000);////////////////////////////
换成:

C/C++ code
DWORD dwTick = ::GetTickCount();while (::GetTickCount() - dwTick < 5000)    Application->ProcessMessages();
[解决办法]
这个5s的其它事如果和界面关系不大的话,可以考虑开辟独立的线程去做。
[解决办法]
得用线程技术呀

读书人网 >C++ Builder

热点推荐