没有建立消息循环 怎么会执行到 OnActivate事件(100分)

  • 主题发起人 主题发起人 nieyunfeng
  • 开始时间 开始时间
N

nieyunfeng

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好:
小弟比较菜,有一个关于Delphi的问题想请教一下,在Delphi的工程文件中,如下
Application.Initialize;
Application.CreateForm(TForm2, Form2);
//主窗体
Application.CreateForm(TForm1, Form1);
Form1.Show;
//先调用Form1.Show 并在Form1写了OnShow和OnActivate处理事件
//Application.Run;
//注释掉这句 不进入消息循环
我运行之后(实际上是一闪而过,因为没有Application.Run),但是发现
写在Form1里的TForm1.FormActivate和 TForm1.FormShow里的代码被执行了,
执行TForm1.FormShow还可以理解,因为调用了 Form1.Show,但是怎么会执行
TForm1.FormActivate呢?OnActivate事件不是响应 WM_ACTIVATE 消息的么?
但是这时候消息循环还没有建立,程序怎么会处理 TForm1.FormActivate呢?
难道处理 TForm1.FormActivate事件不必收到WM_ACTIVATE 消息或者根本就跟
WM_ACTIVATE 消息无关?如果要收到WM_ACTIVATE 消息或者跟WM_ACTIVATE 消息
有关的话为什么消息循环还没有建立就会响应消息执行TForm1.FormActivate事件呢?
小弟苦思良久,甚是疑惑,祈盼大侠指点迷津,不胜感激!
 
OnActivate事件好像在OnShow之前
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
571
import
I
I
回复
0
查看
623
import
I
后退
顶部