我是Delphi新手,但我正在尝试使用Spy ++理解TApplication和TfrmMain窗口之间的关系.看起来TfrmMain窗口是具有正确屏幕坐标的真实窗口,但TApplication窗口是Windows任务栏中显示的窗口.而且,它们似乎根本没有相互关联.一个不是另一个的父窗口,那么窗口如何链接在一起?为什么非UI窗口是获取Windows任务栏按钮的窗口?任何Delphi专家都可以帮我理解这个吗?
TApplication是封装应用程序并处理Windows Messaging等内容的类.TfrmMain将成为TForm的子类,它将成为您的应用程序"主要表单".
所以基本上,TApplication是控制器可以这么说,它拥有并创建TfrmMain,并将消息转发给它,或者它的任何一个孩子.
查看projectname.pas文件,你会看到类似的东西:
program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TfrmMain, frmMain) ; Application.Run; end.
其中Application是TApplication类型.