![]() |
Re: Lösung TListview eigene Farbe andere Icons für Aktive It
probiers mal an einer listview mit viewstyle = vsReport, da hats bei mir nicht funktioniert...
ach ja, ich habe grad rausgefunden, dass wenn es ein & in der listview hat (in einem item) wird dieses gelöscht wenn diese zeile markiert wird. muss irgendwie am drawtext liegen. kann man das ändern oder nicht? |
Re: Lösung TListview eigene Farbe andere Icons für Aktive It
bei mir gings bei beiden viewstyles
|
Re: Lösung TListview eigene Farbe andere Icons für Aktive It
Liste der Anhänge anzeigen (Anzahl: 2)
ups, ich glaube ich habe den rahmen mit der gleichen farbe wie der hintergrund gezeichnet :shock:
nun habe ich aber noch ein problem... ich habe es zuerst so gemacht: wenn das vorherige item markiert ist, soll der obere rahmen nicht gezeichnet werden, und wenn das untere item markiert ist, soll der untere rahmen nicht gezeichnet werden. wenn aber die items nacheinander von oben nach unten oder von unten nach oben markiert werden, wird logischerweise immer der untere oder der obere rahmen gezeichnet, und im endeffekt sieht man dann die horizontalen rahmen-linien trotzdem. dann hatte ich eine andere idee: wenn das vorherige item markiert ist, soll der untere rahmen vom vorherigen item mit der hintergrundfarbe übermalt werden. klappte aber irgendwie auch nicht, hier der code:
Delphi-Quellcode:
EDIT: ich habe jetzt herausgefunden, dass wenn man mehrere items mit der maus markiert (also so ein gestricheltes viereck zieht), dass die eigenschaft selected der markierten items erst true wird, wenn die maus losgelassen wird. so funktioniert mein code natürlich auch nicht...
if item.Index > 0 then
if tlistview(sender).Items.Item[item.Index-1].Selected = true then begin aVorherRect := tlistview(sender).Items.Item[item.index-1].DisplayRect(drLabel); Canvas.Pen.Color := listviewItemBackColor; Canvas.Brush.Color := listviewItemBackColor; aVorherRect.Left:=aVorherRect.Left+2; aVorherRect.Right := aVorherRect.Right+6; canvas.MoveTo(aVorherRect.right, aVorherRect.bottom); canvas.LineTo(aVorherRect.left, aVorherRect.bottom); end; aber wenn man mehrere items mit der Shift-taste markiert, funktionierts wunderbar (siehe anhang) |
Re: Lösung TListview eigene Farbe andere Icons für Aktive It
:-D na ja die geschmäcker sind verschieden (gott sei dank) ich fand den effekt das bei multiselect alle items gerahmt werden ziemlich cool ist mal was anderes
:gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:52 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