![]() |
Frames zur Laufzeit verändern
Hallo,
ich bin ein ziemlicher Anfänger und habe ein Problem, das wahrscheinlich so einfach ist, dass niemand darüber schreibt - ich habe jedenfalls nichrgends eine Antwort gefunden. Aber dann gibt es ja vielleicht auch eine einfache Lösung. Ich möchte ein Programm programmieren, bei dem es am oberen Rand des Fensters parallel zu diesem eine Reihe Buttons gibt, mit denen man den Inhalt eines Frames an der rechten Seite verändern kann. (Ähnlich wie auf vielen Internetseiten, wo man an einer Linkleiste oben den Inhalt des Hauptframes verändern kan (s. z.B. ard.de)) Man klickt also beispielsweise oben auf den Button "setze Marke" und in dem Frame taucht dann das Editfeld "Name" und die Buttons "Setzen" und "Gehe zu" auf. Ich habe wirklich schon viel gesucht, aber für die meisten Programmierenden ist es so klar, wie man Frames zur Laufzeit verändert, dass das nicht noch einmal erwähnt werden muss. Ich währe also wirklich dankbar für eine Antwort! Vielen Dank im Vorraus, treuergebenst, Samufi |
Re: Frames zur Laufzeit verändern
Willst du solche Karteireiter, wie in der Leiste oben bei ARD.de?
Dann würde ich dir einfach ein TPageControl empfehlen. Ansonsten versteh ich nicht recht was du möchtest... |
Re: Frames zur Laufzeit verändern
Willkommen :dp:
Also ich weiß nicht wie tief Deine Kenntnisse sind in Delphi sind und was du wirklich vor hast :-) Zitat:
Möglichkeit A: TPageControl. Hier kannst du mehrere Fensterinhalte vor dem Kompilieren erstellen. Drückt der Anwender auf ein Tab wir diese angezeigt (Im Objektinspektor -> ActivePage) Gefällt Dir das nicht so wirklich, kommen wir mal zur Möglichkeit B - den Frames: Frames kannst du auf vor dem Kompilieren komplett in Delphi erzeugen. Nur welches dargestellt wird musst du später tatsächlich per Code realisieren (Visible := TRUE oder FALSE) Hast du dein Frame einmal fertig, ziehst du es nur auf dein Hauptformular. Im OnCreate des Formulars kannst du dann hin gehen und erstmal alle Frames mit Visible := FALSE unsichtbar machen. Klickt der Anwender auf einen Knopf mußt du das entsprechende Frame auf Visible := True setzten und alle anderen auf False. Setzt man zur Laufzeit dann noch die Eigenschaft Align des Frames auf alClient nimmt das die gesamte Größe des Formulars ein. Achtung: Deine "Navigationsbuttons" oben sollten auf einem Panel liegen welches Align mit alTop hat. Sonst sieht man ggf. deine Buttons nicht mehr. Der Aufwand wird mit diesen Frames etwas größer im Code aber man kann etwas mehr am Design spielen und ist nicht auf die fertige Lösung von Tabs angewiesen. Die Möglichkeit C - wahrscheinlich zu viel für den Anfang - ist es alles so zur Laufzeit zu erzeugen wie du es geschrieben hast. Das würde ich dir aber wirklich nicht raten. Ich hoffe, das konnte dir einen kleinen Denkanstoß geben. Hier und da aber ruhig auch die OnlineHilfe verwenden. Sicher ist es am Anfang sehr viel um es zu verstehen - aber das wird schon :-) Viel Erfolg, Chris |
Re: Frames zur Laufzeit verändern
Achja, Willkommen in der DP :dp: (wo sind nur meine Manieren geblieben :oops: )
Falls du dich für Frames entscheidest, kann ich dir diese ![]() |
Re: Frames zur Laufzeit verändern
Vielen, vielen Dank erstmal. Also, wie ich das jetzt verstanden habe, erstelle ich alle Frames, die ich haben will, stelle alle auf "visible: flase" und packe die übereinander, sodass sie alle an der selben Stelle sind. Die einzige Unklarheit ist jetzt nur, wie ich die Visiblität während der Laufzeit verändere...
|
Re: Frames zur Laufzeit verändern
Oh, ich habs selbst gefunden: "MeinFrame.visible:=true". Vielen Dank für eure Hilfe!!!
Samufi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 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