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 Spalten index einer ListView rausbekommen (https://www.delphipraxis.net/25704-spalten-index-einer-listview-rausbekommen.html)

mimi 10. Jul 2004 19:29


Spalten index einer ListView rausbekommen
 
Halli,
wie kann ich den spalten index einer listview raubekommen ???:
wenn ich eine listview mit mehren spalten habe:
z.b.:
Zitat:

Eigenschaften Test1 Test2
OK Ja Nein
O1 02 03
und jetzt bin ich mit der Maus über 03 bei 01 wie kann ich dann den spalten index raußbekommen und den ListIndex ????

Keldorn 10. Jul 2004 19:42

Re: Spalten index einer ListView rausbekommen
 
Hallo

das listitem bekommst du mit Listview.GetItemAt(...) heraus.
für die spalten siehts ein wenig schwieriger aus, da gibts nicht fertiges, so weit ich weiß. Du kannst in einer Schleife die Spaltenbreiten zusammenzählen und damit prüfen, in welcher Spalte deine Maus ist.

Mfg Frank

mimi 10. Jul 2004 19:55

Re: Spalten index einer ListView rausbekommen
 
mm, schade, ich wollte mir eigetnlich keine eigne funktion schreibem, aber wenn es sowas noch nicht gibt, was ist daran denn so schwer ???
ich hätte schon ein paar ideen, weiß nur nicht ob sie auch fuktionieren *G*

Keldorn 10. Jul 2004 20:13

Re: Spalten index einer ListView rausbekommen
 
schwer ist das nicht, aber für was brauchst du das?

ein kleiner Hinweis: wenn du die Breite der Spalten mit colums[x].width=columnheaderwidth etc. an die Größe des testes anpaßt, liefert dir column[x].width einen falschen wert, nämlich die konstante columnheaderwidth (zumindestens bei mir (d6) und obwohl es laut hilfe auch nicht sein sollte).
An die richtige größe kommt du mit LVM_GETCOLUMNWIDTH ran.
Delphi-Quellcode:
  listview1.Columns[0].Width := ColumnHeaderWidth;
  memo1.lines.add(inttostr(Integer( SendMessage(ListView1.Columns.Owner.Handle, LVM_GETCOLUMNWIDTH, 0, 0) )));//liefert die echte Spaltegröße
  memo1.lines.Add(inttostr(listview1.Column[0].Width)); //liefert -2
Mfg Frank

mimi 19. Jul 2004 17:21

Re: Spalten index einer ListView rausbekommen
 
ich habe mir ein kleinen Textanzeiger geschrieben mit den synedit komponnenten und jetzt wollte ich alle 54 Higleiter die synedit hat verwenden und zum konfiguieren dachte ich mir das ich alle eigenschaften in einer listView einfach aufliste und zwar so:

Eigenschaft Hintergrund Vordergrund Fontsytle
1 clRed clNone Kusiv

jetzt wollte ich das so machen, wenn man über eine spalte ist und klickt soll sich ein ColorDialog öffnen und bei den Fontstyles ein eigens dialog........
das problem ist dabei nur, wie komme ich an den index der subItems ran ???

Keldorn 24. Jul 2004 13:02

Re: Spalten index einer ListView rausbekommen
 
Du kannst dir mal das anschauen, bis zum Hint anzeigen wäre das evtl was für dich:
http://www.delphipraxis.net/internal...ct.php?t=30321

Mfg Frank

mimi 24. Jul 2004 13:26

Re: Spalten index einer ListView rausbekommen
 
danke, ich werde es mir mal ansehen


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