Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Handle des aufrufenden Forms? (https://www.delphipraxis.net/148013-handle-des-aufrufenden-forms.html)

taaktaak 20. Feb 2010 16:21


Handle des aufrufenden Forms?
 
Hmmm, habe da ein Brett vor dem Kopf!

FormA ruft per Show() das FormB auf. FormB muss per SendMessage() eine Botschaft an FormA senden können; dafür wird natürlich das Handle von FormA benötigt. Weder ParentWindow noch TForm(Self).Parent von FormB enthalten das korrekte Handle des aufrufenden FormA! Da war doch irgendetwas mit einem unsichtbaren übergeordneten Form?

Egal, im Augenblick setzte ich in eine Property von FormB das Handle des FormA - geht das eleganter?

Astat 20. Feb 2010 17:10

Re: Handle des aufrufenden Forms?
 
Delphi-Quellcode:
Application.MainForm.Handle
lg. Astat

taaktaak 20. Feb 2010 17:16

Re: Handle des aufrufenden Forms?
 
Ah, danke!
Der Vorschlag ist allerdings nicht allgemeingültig - ich kann nicht davon ausgehen, dass FormA immer das Mainform ist.

daywalker9 20. Feb 2010 17:18

Re: Handle des aufrufenden Forms?
 
Du hast schon eine sehr elegante Lösung mit dem Handle als Property. So kannst du eben immer sicherstellen, das Du das richtige Handle hast.

Edit:
Du kannst aber auch tForm(Parent).Handle benutzten, wenn du FormB FormA als Parent zugeordnet hast:
Delphi-Quellcode:
procedure SendeMessage;
begin
  SendMessage(tForm(Parent).Handle,WM_SHOW,0,0);
end;

taaktaak 20. Feb 2010 17:20

Re: Handle des aufrufenden Forms?
 
Ok, damit kann ich leben...
Danke
:-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz