簡體   English   中英

如何獲得Delphi IDE的主表單?

[英]How can I get the Delphi IDE's Main Form?

我正在為Delphi編寫一個屬性編輯器,我希望它顯示在正確的屏幕上以支持多顯示器。 為了定位它,我想引用Delphi IDE的“主”形式。

我已經嘗試使用Application的MainForm屬性和Application對象本身,但似乎都不起作用。 我相信這是因為MainForm實際上是Nathanial Woolls在本文中引用的隱藏的TApplication實例(搜索“申請表”):

http://www.installationexcellence.com/articles/VistaWithDelphi/Original/Index.html

有誰知道如何獲取IDE的可見主窗體的句柄。 我試圖避免一些俗氣,比如迭代所有表格並在標題中搜索“CodeGear RAD Studio”。

IDE的主要形式是Application.MainForm。 我的快速測試設計包:

procedure DoStuff(Form: TCustomForm);
var
  S: string;
begin
  S := Form.Caption;
  Form.Caption := S + ' - this one';
  try
    ShowMessage(Format('%s [%s] on monitor %d', [Form.Name, Form.ClassName, Form.Monitor.MonitorNum]));
  finally
    Form.Caption := S;
  end;
end;

initialization
  DoStuff(Application.MainForm);

在我的情況下,在監視器0上顯示“AppBuilder [TAppBuilder]”,我可以在主窗體的標題中看到“ - this this”后綴。 什么似乎不適用於您的情況?

IIRC的主要形式叫做TAppBuilder ,所以像FindWindow('TAppBuilder',nil)這樣的東西可能是你的起點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM