AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frames zur Laufzeit verändern

Ein Thema von Samufi · begonnen am 27. Nov 2008 · letzter Beitrag vom 27. Nov 2008
Antwort Antwort
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#1

Frames zur Laufzeit verändern

  Alt 27. Nov 2008, 14:02
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
  Mit Zitat antworten Zitat
ToFaceTeKilla

Registriert seit: 17. Mai 2006
Ort: Leipzig
283 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Frames zur Laufzeit verändern

  Alt 27. Nov 2008, 14:19
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...
Billy Gerwitz
"Bei der Softwareentwicklung suchen wir nicht den richtigen Weg, sondern den am wenigsten falschen." - frei nach V. Hillmann
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Frames zur Laufzeit verändern

  Alt 27. Nov 2008, 14:37
Willkommen

Also ich weiß nicht wie tief Deine Kenntnisse sind in Delphi sind und was du wirklich vor hast
Zitat von Samufi:
Hallo,
ich bin ein ziemlicher Anfänger ...
Aber wenn ich dich richtig verstehe möchtest du ja ein ähnliches Verhalten erzeugen wie es auf Webseiten auch gegeben ist. Klick auf die Obere Navigation erzeugt den gewünschten Inhalt im Hauptfenster.

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
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
ToFaceTeKilla

Registriert seit: 17. Mai 2006
Ort: Leipzig
283 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Frames zur Laufzeit verändern

  Alt 27. Nov 2008, 14:45
Achja, Willkommen in der DP (wo sind nur meine Manieren geblieben )

Falls du dich für Frames entscheidest, kann ich dir diese Seite nur wärmstens empfehlen.
Billy Gerwitz
"Bei der Softwareentwicklung suchen wir nicht den richtigen Weg, sondern den am wenigsten falschen." - frei nach V. Hillmann
  Mit Zitat antworten Zitat
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Frames zur Laufzeit verändern

  Alt 27. Nov 2008, 14:52
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...
  Mit Zitat antworten Zitat
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Frames zur Laufzeit verändern

  Alt 27. Nov 2008, 14:57
Oh, ich habs selbst gefunden: "MeinFrame.visible:=true". Vielen Dank für eure Hilfe!!!
Samufi
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 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