首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

C++Builder循环中怎么更新主界面

2013-08-04 
C++Builder循环中如何更新主界面比如说,我界面上有个button1,点击后,执行一个死循环,里面不断更新界面上的

C++Builder循环中如何更新主界面
比如说,我界面上有个button1,点击后,执行一个死循环,里面不断更新界面上的Edit1的内容。
但是现在主界面不更新。我知道用类似peekmessage可以解决,想知道有没有BCB原生的方式或函数呢?
[解决办法]
Application->ProcessMessages()
[解决办法]
Application->ProcessMessages()
[解决办法]
Application->ProcessMessages()
不过这样死循环里的工作将会暂停
如果希望主窗口不假死又能更新,就用多线程
[解决办法]
呵呵,就是它了

Application->ProcessMessages()
 
[解决办法]
死循环 、原生 ?
那就用TThread线程类吧:


//   class TMyThread : public TThread



//   Important: Methods and properties of objects in VCL can only be
//   used in a method called using Synchronize, for example:
//
//      Synchronize(UpdateCaption);
//
//   where UpdateCaption could look like:
//
//      void __fastcall TMyThread::UpdateCaption()
//      {
//        Form1->Caption = "Updated in a thread";
//      }

[解决办法]
点击按钮执行死循环?听上去就恐怖,从不敢这样设计软件,只敢用子线程执行死循环。

再说,为何一定要用死循环更新界面,没有别的办法吗?

[解决办法]
楼主的思路好怪。为什么不用Timer??
[解决办法]
Timer或者线程比较好,
[解决办法]
Timer用的是主线程,一样会阻塞造成界面假死。
[解决办法]
Application->ProcessMessages()或者使用多线程咯~timer也可以。不过还是建议使用多线程好些

热点排行