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

怎样才能拖动窗体的时候主线程内正在运行的程序不停止响应.解决思路

2012-03-01 
怎样才能拖动窗体的时候主线程内正在运行的程序不停止响应.假如有这样一段代码:Delphi(Pascal) codeproced

怎样才能拖动窗体的时候主线程内正在运行的程序不停止响应.
假如有这样一段代码:

Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject);var i: integer ;begin  i := 0 ;  while True do  begin    i := i + 1 ;    Text := IntToStr(i) ;    Application.ProcessMessages ;  end;end;


怎样使得在拖动窗体时, 标题栏的数字还在跳动呢? (即上面函数内的循环不暂停运行).

最重要的是要视觉上感觉数字在跳动.

不考虑多线程处理, 请高手支招.

[解决办法]
用Timer
Delphi(Pascal) code
procedure TForm1.Timer1Timer(Sender: TObject);begin  Tag := Tag + 1;  Text := IntToStr(Tag);end;
[解决办法]
用拦截消息的方法是不行的,因为在窗口拖动的过程中是返回不到Application.ProcessMessages的。
可以在mousedown的时候setcapture然后在mousemove消息里模拟窗口拖动。

热点排行