Application.ProcessMessage()什么时候执行?(50分)

  • 主题发起人 主题发起人 joyprince
  • 开始时间 开始时间
J

joyprince

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么我没执行这条语句,Application.OnMessage也能被触发?
 
ApplicationEvents控件?
这个东东的OmMessage会触发消息!
 
来自:wjiachun, 时间:2000-10-14 19:05:00, ID:365942
var
quitflag: Boolean;

procedure TForm1.Button1Click(Sender: TObject);
const
runon: Boolean=false;
begin
quitflag:=false;
if runon then Exit; // 若已进入本过程则退出
runon := true;
while true do begin
.....//你的代码
Application.ProcessMessages; // 让其他控件能获取消息
if quitFlag then Break;
end;
runon:= false; // 清除已进入本过程标志
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
quitFlag := true;
//你参考下。

 
Windows 消息发生时会触发Application.OnMessage。
Windows 消息常发生,如mouse移动,窗口移动,窗口重画。。。。。。
 
应该是在随时执行吧,
说句通俗的话,它有很高的优先级
 
APPlicaton.ProcessMessage()和application.OnMessage之间是什么关系
 
APPlicaton.ProcessMessage()是如果消息有队列中有消息时处理消息,
并会发生application.OnMessage。如果消息有队列中没有消息,
不会发生application.OnMessage。
 
后退
顶部