![]() |
MDI: Auf Komponente des Childs zugreifen
Hi @all!
Mal wieder eine MDI-Frage. Ich hab' leider in der Suche nicht gefunden. Also: Wie kann ich von der Haupt-Form auf eine Komponente zugreifen, die auf dem MDI-Child liegt? Mit ActiveMDIChild komme ich ja an das aktive Fenster. Zumindest der OH nach zu schließen. Aber wie komme ich jetzt an die Komponente? Vielen Dank schonmal, |
Re: MDI: Auf Komponente des Childs zugreifen
Moin!
Da ActiveMDIChild vom Typ TForm ist, musst du erstmal einen typecast auf die Klasse deines MDI Childs machen, diese kennt dann auch deine Komponenten. MfG Muetze1 |
Re: MDI: Auf Komponente des Childs zugreifen
Aah ja...
Und was heißt das, ich meine das Typecasting? Könntest du mir das kurz erklären? Vielen Dank, |
Re: MDI: Auf Komponente des Childs zugreifen
Ganz einfach
Delphi-Quellcode:
müssen noch abfragen ob gefunden und so rein.
(ActiveMDIChild.FindComponent('Button1') AS TButton).Click;
|
Re: MDI: Auf Komponente des Childs zugreifen
Danke! Das hilft mir schon eher weiter. :thumb:
[EDIT]Mein 100ster Beitrag!! :-D[/EDIT] |
Re: MDI: Auf Komponente des Childs zugreifen
Warum rufst du in deinem Beispiel FindComponent auf?
Code:
Bei bedarf kann man hier auch noch auf nil prüfen.
var Button: TButton;
begin if Self.MDiChildCount > 0 then Button := (Self.ActiveMDIChild as TForm2).Button1; end; |
Re: MDI: Auf Komponente des Childs zugreifen
Oder:
Delphi-Quellcode:
@bigg
TMDIFormName(ActiveMDIChild).Button1Click;
ich weis. Es ist ja nur der reine Code. Man kanns auch so machen:
Delphi-Quellcode:
if ActiveMDIChild is TMDIFormName then
TMDIFormName(AcitveMDIChild).Button1Click; |
Re: MDI: Auf Komponente des Childs zugreifen
Und was ist wenn gar kein Child geöffnet ist?
dann bekommst du nämlich so rote Fehlermeldungen. PS: Button ist in meinem Beispiel nur ein Zeiger auf TButton :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz