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 TListView, SubItems getrennt markieren ? (https://www.delphipraxis.net/76992-tlistview-subitems-getrennt-markieren.html)

hoika 13. Sep 2006 09:29


TListView, SubItems getrennt markieren ?
 
Hallo #,

ich habe hier einen Standard ListView.
Je nachdem, welcher der SubItems markliert ist,
will ich eine bestimmte Aktion machen,
im konkreten Fall ein Label mit Zusatzinfos anzeigen.

mit RowSelect wird die ganze Zeile markiert,
ohne RowSelect nur die Caption-Spalte.

Geht das auch anders ?

Kann das eventuell der VirtualTreeView ?
(Das wäre endlich mal nen Grund für den wohl mühseligen Umstieg)

Danke


Heiko

Mackhack 13. Sep 2006 14:59

Re: TListView, SubItems getrennt markieren ?
 
Hm,

was willst du denn anders haben? Du schreibst nur was das ListView kann und auch macht aber nicht was du eigentlich willst!

hoika 13. Sep 2006 16:15

Re: TListView, SubItems getrennt markieren ?
 
Hallo,

in dem ListView stehen pro Person zwei Werte (in SubItems, also in Spalten).
So soll es sein.

Wird die erste Spalte markiert, blende ich ein Panel mit zusätzlichen Daten
des 1. Wertes ein, beim 2 halt nen anderes Panel.


Heiko

Mackhack 13. Sep 2006 17:05

Re: TListView, SubItems getrennt markieren ?
 
Hm, du koenntest die ItemIndex auslesen und dementsprechend dann das Panel anzeigen.

alzaimar 13. Sep 2006 17:11

Re: TListView, SubItems getrennt markieren ?
 
Muss es denn eine TListView sein? Die ist nunmal so beschränkt. Dafür kann sie ein und dieselbe Sache aber in vier verschiedenen Darstellungen zeigen (Symbole, Icons, Liste und Report).

Was Du benötigst, ist vielleicht eher ein StringGrid-Abkömmling, den man etwas besser konfigurieren kann. Bei JVCL solltest Du fündig werden.

Wenn es aber eine ListView sein soll, kannst Du das 'OnMouseDown' Ereignis auswerten und prüfen, wo denn nun die Maus gerade raufgeklickt hat. Schau mal unter MyListView.GetHitTestInfoAt(X,Y) in der Online-Hilfe nach.

hoika 14. Sep 2006 07:31

Re: TListView, SubItems getrennt markieren ?
 
Hallo,

> ItemIndex
zeigt mir ja nur die Ziele,
nicht die Spalte an.

> MouseDown
klingt gut,
würde wohl auch funktionieren,
aber ist in der Nutzerführung schlecht,
weil das ListView keine Selektion der Spalte macht.


Ich habe es jetzt so gelöst, dass beide Panels angezeigt werden.
Da auch Änderungen gemacht werden können,
war (ist der Code) zwar komplizierter,
aber dem Anwender wird es gefallen.

Danke


Heiko

alzaimar 14. Sep 2006 09:06

Re: TListView, SubItems getrennt markieren ?
 
Zitat:

Zitat von hoika
> MouseDown
klingt gut,
würde wohl auch funktionieren,
aber ist in der Nutzerführung schlecht,
weil das ListView keine Selektion der Spalte macht.

Handarbeit ist angesagt. Aber dann ist die ListView doch sowieso nicht die richtige Wahl! Verwende ein Grid.

hoika 14. Sep 2006 09:32

Re: TListView, SubItems getrennt markieren ?
 
Hallo,

ja ich weiss, aber der ListView sieht halt schöner aus .. ;(
Egal,
da in den beiden Panels auch geändert werden kann,
ist es für den Anwender besser, gleich alles auf einen Blick zu sehen.

Mal sehn, was cheffe dazu sagt.

Heiko

alzaimar 14. Sep 2006 09:47

Re: TListView, SubItems getrennt markieren ?
 
Zitat:

Zitat von hoika
aber der ListView sieht halt schöner aus .. ;(

Habt Ihr ein Budget? Dann check mal www.devexpress.com und das das 'Express Quantum Grid'. Geiles Teil!

hoika 14. Sep 2006 10:48

Re: TListView, SubItems getrennt markieren ?
 
Danke,

kenn ich, leider reicht das Geld dafür nicht... ;(
Aussderdem arbeite ich immer mit Erweiterungen der
eigentlichen TStringGrid, TListView,
deren neue Sachen ich erst mal im Quantumgrid nachbauen müsste
(oder eigentlich nur raussuchen müsste ;) )

Ein weiteres Problem ist, dass in vielen Forms einfach Grid.Cells[Col,Row]:= 'bla'
zum Füllen verwendet wird, ich also entweder den Unbound oder Provider mode benutzen müsste
und da muss ne Mnege umgebaut werden.
Viele Forms, viel Zeit ;(


Heiko


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