Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tfram im Tframe spricht was dagegen? (https://www.delphipraxis.net/211140-tfram-im-tframe-spricht-dagegen.html)

fisipjm 2. Aug 2022 14:41

Delphi-Version: 10.4 Sydney

Tfram im Tframe spricht was dagegen?
 
Hi,

Wunschzustand:

Komponente in der VCL (Liste bzw. Tframe). Tframe hat eine Funktion add. Add nimmt z.B. 5 Strings. Die werden als einrtag in der Liste (Tframe) angezeigt.
Diese 5 Strings würde ich in Labels ausgeben die wiederrum auf einem Tframe liegen. Die "ListItems Tframes" binde ich dann in das "List Tframe" ein.
Spricht da etwas dagegen?
Am ende würde ich es gerne als Komponente Registrieren und eigene Eventhandler drauflegen ohne die anderen sichtbar zu machen, deshalb wirds vielleicht ein TCustomFrame.

Macht man das so, oder geht das anders? Das 2. Tframe nehme ich eigentlich nur, weil ich die Labels gerne in der IDE anordnen können würde. Wenn man das im Code machen muss wird man wahnsinnig.

Gruß
PJM

Redeemer 2. Aug 2022 18:36

AW: Tfram im Tframe spricht was dagegen?
 
Warum machst du das überhaupt? TListView, TStringGrid, TDrawGrid alles keine Option?

Ansonsten: Ja, man kann TFrame stapeln, wenn man die doppelten Kindframes zur Laufzeit nach Erstellung in
Delphi-Quellcode:
''
umbenennt.

jaenicke 2. Aug 2022 22:56

AW: Tfram im Tframe spricht was dagegen?
 
Wenn es Labels sein sollen, gibt es auch noch TGridPanel.

Ohne genaue Details zum gewünschten Ergebnis lässt sich aber kein direkter Rat geben.

fisipjm 3. Aug 2022 07:25

AW: Tfram im Tframe spricht was dagegen?
 
Moin,

mein Problem ist. Ich hätt gerne, dass das Frame bei Programmstart leer ist. Erst nach dem ersten Add soll ein erstes Objekt erscheinen. Gleichzeitig möchte ich aber die Möglichkeit haben den "Design" part in der IDE zu machen und eben nicht textuell in der Runtime.
Ich befürchte ich hab irgendwo einen Denkfehler.

Zusätzlich zu den Labels müssten auch noch Edits und Buttons drauf die dann jeweils mit der Maske auf die es gelegt wird interagieren können, also in der Abgeleiteten Maske noch einen Eventhandler bekommen.

Gruß
PJM

PS: Eventhandler durchschleifen hab ich mittlerweile kapiert, dass ist kein Problem. Es hängt glaube ich einfach daran, dass ich gern eine Art Vorlage hätte die ich dann einfach beliebig in das Frame einsetzen kann. Das kann dann auch ein Panel sein. Aber ich weis eben nicht wie ich das ohne ein Frame hinbekommen soll :(

himitsu 3. Aug 2022 10:07

AW: Tfram im Tframe spricht was dagegen?
 
Du kannst do deinen Frame im Designer erstellen.

Und dann wird in der anderen Komponente (egal ob Frame oder Panel oder sonstwas) zur Laufzeit eines/mehrere Instanzen dieses Frames erstellt und da drauf gelegt. (Create und dann Parent ... und was du mit dem Owner machst, kommt drauf an, wie du den Speicher verwaltest)

jaenicke 3. Aug 2022 14:35

AW: Tfram im Tframe spricht was dagegen?
 
Zitat:

Zitat von fisipjm (Beitrag 1509681)
Ich hätt gerne, dass das Frame bei Programmstart leer ist. Erst nach dem ersten Add soll ein erstes Objekt erscheinen. Gleichzeitig möchte ich aber die Möglichkeit haben den "Design" part in der IDE zu machen und eben nicht textuell in der Runtime.

Wenn du mehrere dieser Frames untereinander haben möchtest, quasi als Listendarstellung, könntest du eine TScrollBox verwenden. Dann kannst du die TFrames zur Laufzeit erzeugen und dort hineinhängen.

Allerdings macht man sich in solch einem Fall das Leben meist unnötig schwer, wenn man solche dynamischen Oberflächen versucht visuell zu designen...

Davon abgesehen gibt es so viele fertige Komponenten für Listen usw., dass sich für viele Zwecke, die so klingen wie bei dir, schon weitgehend fertige Lösungen finden lassen. Aber wie gesagt, ohne weitere Informationen lässt sich das nicht präzisieren.

freimatz 8. Aug 2022 12:40

AW: Tfram im Tframe spricht was dagegen?
 
Dem stimme ich zu.
Trotzdem werfe ich das hier noch ein: https://docwiki.embarcadero.com/RADS...olList_Control


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