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 [D2009] ListView Eintrag hervorheben mit anderen Colums.... (https://www.delphipraxis.net/197617-%5Bd2009%5D-listview-eintrag-hervorheben-mit-anderen-colums.html)

KodeZwerg 22. Aug 2018 10:45

[D2009] ListView Eintrag hervorheben mit anderen Colums....
 
Hallo Community!

Eine ListView stellt den Inhalt eines Ordners dar, und ich setze zur Laufzeit auf Knopfdruck das Design der kompletten LV um.
(Danke @Uwe Raabe)

Nun frage ich mich ob es auch möglich ist nur einen einzelnen Eintrag kurzzeitig per Column Width zu manipulieren?

Also LV sollte dann so aussehen:
[ICON][Filename][Date][Size][Attrib]
[ICON][Filename][Date][Size][Attrib]
[ICON][Filename][Date][Size][Attrib]
[ICON][Filename][ProgressBar]
[ICON][Filename][Date][Size][Attrib]
[ICON][Filename][Date][Size][Attrib]
[ICON][Filename][Date][Size][Attrib]

Geht so etwas überhaupt?

old7 22. Aug 2018 12:07

AW: [D2009] ListView Eintrag hervorheben mit anderen Colums....
 
Zitat:

[ICON][Filename][ProgressBar]
K.A. ob das geht. Wie wäre es, ein ansonsten unsichtbares Panel (mit ProgressBar drauf) positionieren und sichtbar machen, bis der Vorgang zu Ende ist?

Jumpy 22. Aug 2018 12:23

AW: [D2009] ListView Eintrag hervorheben mit anderen Colums....
 
Irgendwiewas mit OnOwnerDraw machen?

Delphi.Narium 22. Aug 2018 12:29

AW: [D2009] ListView Eintrag hervorheben mit anderen Colums....
 
Lässt sich das https://www.delphipraxis.net/36920-p...statusbar.html eventuell auch auf 'ne ListView übertragen?

Ansonsten Suchmaschine mit delphi source Progressbar ListView füttern, da kommt einiges zutage, u. a. auch dashier: https://stackoverflow.com/questions/...r-in-list-view

KodeZwerg 22. Aug 2018 12:53

AW: [D2009] ListView Eintrag hervorheben mit anderen Colums....
 
Ich benötige keine Hilfe wie ich Extra Komponenten in eine ListView erstelle, aber Danke für Links.

Tut mir leid falls es unverständlich Ausgedrückt war, ich versuche es nochmal.
Also ich habe eine ListView wo mehrere Columns bei OnCreateForm eine Width von Null haben.
In diesen Null Width Columns ist unter anderem eine ProgressBar.

Was ich nun erfahren wollte,
kann ich zur Laufzeit einen einzelnen ListView Eintrag manipulieren so das dieses Element kurzzeitig andere Column Width Werte bekommt?

Beispiel:
[ICON][Filename][Date][Size][Attrib] <- Die haben bei Start alle eine Column Width > 0
[ProgressBar] <- Diese Column ist bei Start auf 0

Wenn jetzt eine Aktion ausgeführt wird würde ich gerne das für den einzelnen Eintrag die [Date][Size][Attrib] Width auf Null gesetzt wird und die [ProgressBar] dessen Width erhält.

Delphi.Narium 22. Aug 2018 13:01

AW: [D2009] ListView Eintrag hervorheben mit anderen Colums....
 
Du bekommst also vermutlich schon 'ne Progressbar in Deine Listview rein.

Dann ändere doch die Spalte, in der die Progressbar steht. Also keine zusätzliche Spalte [ProgressBar], sondern in der Spalte [Attrib] werden wahlweise die Attribute oder die Progressbar angezeigt.

Beispiel:
[ICON][Filename][Date][Size][Attrib] <- Die haben bei Start alle eine Column Width > 0

Wenn jetzt eine Aktion ausgeführt wird hätte ich gerne, dass die Spalte [Attrib] zum Parent der Progressbar wird.

Also mal "den normalen Text" in der Spalte [Attrib] und mal die "Progressbar" in der Spalte [Attrib] sichtbar machen.

KodeZwerg 22. Aug 2018 13:05

AW: [D2009] ListView Eintrag hervorheben mit anderen Colums....
 
Aha Effekt hat eingesetzt, das wäre auch eine Variante, da muss ich mal schauen wie ich das am elegantesten Löse da [Attrib] gerade mal Platz für vier Chars bereitstellt, aber [Filename] ist schön lang, da sollte es gut wirken.

Danke für Deinen Vorschlag, da bastel ich mal ob ich das so hinbekomme, cooler Tipp von Dir :thumb:

edit
Nach ersten Denken muss ich gleich mal sagen: Hey, das rockt, da brauch ich noch nicht mal dutzende PBars erstellen sondern nur eine, Klasse Vorschlag, genau so werde ich vorgehen, da ergeben sich für meine Pause/Resume/Cancel Knöpfe auch andere Möglichkeiten, die waren vorher auch in einer Null-Width drinnen, nach der Neuen Variante erstelle ich die auch nur einmal und per Parent hinein ins getümmel.
Vielen Dank Delphi.Narium, damit bin ich erst mal beschäftigt, im positiven Sinne :)


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