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/)
-   -   Z-Order von Grafik oder Control? (https://www.delphipraxis.net/193606-z-order-von-grafik-oder-control.html)

stOrM 19. Aug 2017 13:50

Z-Order von Grafik oder Control?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Der Titel ist wenig aussagekräftig ich weiss, ich wüsste jetzt nur nicht wie ich das folgende besser beschreiben könnte.

Auf diversen Internetseiten hat man ja z.B. den Effekt einer statischen Navigation sprich, der Header bleibt beim scrollen immer an der gleichen Position und scrollt nicht aus dem sichtbaren bereich heraus.

Das verhalten habe ich auch des öfteren bei einigen Editoren z.B. Sublime Text bemerkt.
Jetzt frage ich mich wie baut man soetwas in Delphi nach?

Ich stelle mir folgendes vor (quasi eine Art Sidebar die eine Ordnerstruktur abbildet mit Hilfe eines Treeviews.)

In der Sidebar ganz oben, besagter Header, darunter die Treeview.
Wenn die Treeview von den Items her nun mehr Platz benötigt, als in der Sidebar verfügbar ist und man scrollen muss um den Rest der Items in der Treeview zu sehen, wäre der angestrebte Effekt ja, das der Header oben wie gesagt stehen bleibt, die Items der Treeview beim scrollen aber unter den Header drunter wegtauchen.

Zur Zeit muss ich sagen, hab ich keinerlei Ideen wie man so etwas (falls überhaupt) nachbauen könnte. Da bräuchte ich mal ein paar Anregungen.

Ich hab mal ein Gif angehangen wo man sieht was passiert wenn man das Treeview scrollt. Die Items tauchen unter dem blauen Tab drunter weg.

EWeiss 19. Aug 2017 15:06

AW: Z-Order von Grafik oder Control?
 
Zitat:

Zur Zeit muss ich sagen, hab ich keinerlei Ideen wie man so etwas (falls überhaupt) nachbauen könnte.
Warum nicht ?
Ist letztendlich nichts anderes als ein Virtuelles ListView.
bzw. Das könntest du sogar dafür verwenden.

gruss

stOrM 19. Aug 2017 16:08

AW: Z-Order von Grafik oder Control?
 
Zitat:

Zitat von EWeiss (Beitrag 1379063)
Zitat:

Zur Zeit muss ich sagen, hab ich keinerlei Ideen wie man so etwas (falls überhaupt) nachbauen könnte.
Warum nicht ?
Ist letztendlich nichts anderes als ein Virtuelles ListView.
bzw. Das könntest du sogar dafür verwenden.

gruss

Ja richtig, guter Einwand, ich könnte eventuell ne VirtualTreeview nehmen mit einer Column und den Header selber pinseln, müsste klappen.

himitsu 19. Aug 2017 19:09

AW: Z-Order von Grafik oder Control?
 
Mit VCL und 'nem normalen TTreeView geht sowas auch,
aber im FMX sollte das doch bestimmt locker mit den Standardkomponenten auch gehn und da hat man auch gleich nativ die graphischen Effekte zur Verfügung, für das Alpa-Blending.

stOrM 19. Aug 2017 19:53

AW: Z-Order von Grafik oder Control?
 
Zitat:

Zitat von himitsu (Beitrag 1379068)
Mit VCL und 'nem normalen TTreeView geht sowas auch,
aber im FMX sollte das doch bestimmt locker mit den Standardkomponenten auch gehn und da hat man auch gleich nativ die graphischen Effekte zur Verfügung, für das Alpa-Blending.

Joa (wie mit VCL? Ich mach doch VCL) :-D der Feueraffe interessiert mich nicht. Ich hab mich nur aus Performancegründen für das VST entschieden, nicht wegen dem Zeichnen an sich.

himitsu 19. Aug 2017 20:10

AW: Z-Order von Grafik oder Control?
 
Erstmal muß doch die TreeView nicht unter die Navigationskomponente,
(ganz normal Aling=Top und Align=Client, aber bei dem Tree oben einen kleinen Rand mit einem Overlay versehen ... Farbe nach oben hin ausrauen)

aber selbst wenn, dann TreeView oder ScrollBox und Navigationskomponente auf selben Parent.
TreeView/ScrollBox auf Align Client
Navigation auf Align Top und diese Komponente in er Erstellungsreihenfolge als Letzte, also über die TreeView/ScrollBox

stOrM 19. Aug 2017 21:36

AW: Z-Order von Grafik oder Control?
 
Zitat:

Zitat von himitsu (Beitrag 1379070)
Erstmal muß doch die TreeView nicht unter die Navigationskomponente,
(ganz normal Aling=Top und Align=Client, aber bei dem Tree oben einen kleinen Rand mit einem Overlay versehen ... Farbe nach oben hin ausrauen)

aber selbst wenn, dann TreeView oder ScrollBox und Navigationskomponente auf selben Parent.
TreeView/ScrollBox auf Align Client
Navigation auf Align Top und diese Komponente in er Erstellungsreihenfolge als Letzte, also über die TreeView/ScrollBox

Äh wat?
Ich habs so vor einfach den Treeview Header selbst zu zeichnen, dann habe ich schon das Verhalten was ich wollte, da die Items ja beim scrollen einer Tree/Listview unter den Header rutschen.
Im obigen Bild ist noch ein Schatten, leider kaum zu sehen, da ich beim Anhang auf 35kb beschränkt war, ist aber leicht durch ein PNG zu erzielen sein.
Was ist denn die Navigationskomponente? Wie gesagt wollte das Verhalten von der Sublime Text Sidebar nachbauen. Dazu brauch ich ja jetzt nicht anderes mehr wie:

1. Panel alLeft.
2. Treeview auf Panel alClient.
3.Treeview Header malen.
4. Treeview drag / drop implementieren um Ordner Strukturen + Dateien abzubilden.

Fertsch


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