我是 Delphi 新手,但我正在尝试使用 Spy++ 了解 TApplication 和 TfrmMain 窗口之间的关系。 TfrmMain 窗口似乎是具有正确屏幕坐标的真实窗口,但 TApplication 窗口是出现在 Windows 任务栏中的窗口。此外,他们似乎根本没有任何关系。一个不是另一个的父窗口,那么这些窗口是如何链接在一起的呢?为什么非 UI 窗口是获得 Windows 任务栏按钮的窗口?任何德尔福专家都可以帮助我理解这一点吗?
最佳答案
TApplication 是封装您的应用程序并处理诸如 Windows 消息传递之类的类。 TfrmMain 将是 TForm 的子类,它将成为您的应用程序“主表单”。
所以基本上,TApplication 可以说是 Controller ,它拥有并创建 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 类型。
关于delphi - TfrmMain 和 TApplication - 它们是做什么用的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/351487/