Delphi TfrmMain和TApplication-这些是做什么用的?
我是一名Delphi新手,但我正在尝试使用Spy++了解TApplication和TfrmMain windows之间的关系。TfrmMain窗口似乎是具有正确屏幕坐标的真实窗口,但TApplication窗口是出现在Windows任务栏中的窗口。而且,他们似乎根本没有关系。一个窗口不是另一个窗口的父窗口,那么这些窗口是如何链接在一起的呢?为什么非用户界面窗口是一个获得Windows任务栏按钮的窗口?任何Delphi专家都能帮助我理解这一点吗?TApplication是一个封装应用程序并处理Windows消息传递等事务的类。TfrmMain将是TForm的一个子类,它将成为应用程序的“主窗体” 所以基本上,TApplication就是所谓的控制器,它拥有并创建TfrmMain,并将消息转发给它或它的任何子级 查看projectname.pas文件,您将看到如下内容:Delphi TfrmMain和TApplication-这些是做什么用的?,delphi,Delphi,我是一名Delphi新手,但我正在尝试使用Spy++了解TApplication和TfrmMain windows之间的关系。TfrmMain窗口似乎是具有正确屏幕坐标的真实窗口,但TApplication窗口是出现在Windows任务栏中的窗口。而且,他们似乎根本没有关系。一个窗口不是另一个窗口的父窗口,那么这些窗口是如何链接在一起的呢?为什么非用户界面窗口是一个获得Windows任务栏按钮的窗口?任何Delphi专家都能帮助我理解这一点吗?TApplication是一个封装应用程序并处理Wi
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TfrmMain, frmMain) ;
Application.Run;
end.
应用程序类型为TApplication。对于Delphi 2007之前版本的Delphi应用程序,“秘密窗口”将是Vista Flip 3D或预览中的可见窗口。下面是一篇很好的文章,介绍了如何在Delphi 2006(及更早版本)上编译Delphi应用程序,以便不显示“秘密窗口”:您知道如何使用Win32代码(而不是从Delphi应用程序内部)获取TfrmMain的控制器窗口句柄吗?奇怪的是,TfrmMain窗口似乎不属于TApplication窗口。我认为您必须使用GetWIndowHandle(formcaption)或类似的东西