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 Komponente zur Laufzeit sichtbar machen/Form anpassen (https://www.delphipraxis.net/87432-komponente-zur-laufzeit-sichtbar-machen-form-anpassen.html)

BillieJoe90 28. Feb 2007 16:56


Komponente zur Laufzeit sichtbar machen/Form anpassen
 
Hallo,
in meinem Programm soll man per Radio-Button ein Menü auswählen können, das im selben Fenster angezeigt werden soll. Bevor das Menü angezeigt wird, soll kein Platz für das spätere Menü sein, er soll sich quasi "gemacht" werden. Alle anderen Komponenten auf dem Formular müsste ich dann "per Hand" verschieben und auch das Form in seiner Größe verändern. Das ist äußerst unflexibel und zudem kompliziert...

Es gibt doch sicher eine Möglichkeit, z.B. einen Frame einzublenden und sich alle anderen Komponenten darunter einschließlich dem Fromular daran anpassen, oder nicht?! :roll:

Danke schonmal!

Johannes

BillieJoe90 28. Feb 2007 16:56

Re: Komponente zur Laufzeit sichtbar machen/Form anpassen
 
Sry...wollte meinen Beitrag editieren und bin ausversehen auf "Zitieren" gekommen - bitte löschen :lol: :oops:

shmia 28. Feb 2007 17:07

Re: Komponente zur Laufzeit sichtbar machen/Form anpassen
 
Ganz einfach:
1.) setze ein MainMenue auf ein Formular und mache ein paar Menueitems.
das Menue ist sofort im Formular sichtbar
2.) setze ein zweites MainMenue auf das Formular (mit anderen Items)
3.) Formular auswählen und im Objektinspektor das Property Menu mit löschen
jetzt verschwindet das Menue aus dem Formular
4.) zur Laufzeit:
Delphi-Quellcode:
case RadioGroup1.ItemIndex of
  0: self.Menu := MainMenu1;
  1: self.Menu := MainMenu2;
else
   self.Menu := nil;
end;

Kedariodakon 28. Feb 2007 17:10

Re: Komponente zur Laufzeit sichtbar machen/Form anpassen
 
Dein Menü-Problem hat ja shmia erklärt ;)

Was du so genau machen willst is mir noch nicht klar, aber ev. kannst du den Rest mit TPanels lösen...

Die kann man genau wie die Form selber auf AutoSize := True setzen, dann passen sie sich an...
dazu setzt man dann alle Panals in der Form auf Align := alTop
Die einzelnen Panels kannst du dann auch unsichtbar machen mit Visible := False, dementsprechend passen sich die anderen dann von der Größe an...

einfach mal ein wenig rumspielen ;)

Ich hoffe das hilft...

Bye Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:12 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