AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Lösung TListview eigene Farbe andere Icons für Aktive Items
Thema durchsuchen
Ansicht
Themen-Optionen

Lösung TListview eigene Farbe andere Icons für Aktive Items

Ein Thema von etom291272 · begonnen am 3. Dez 2005 · letzter Beitrag vom 9. Dez 2005
Antwort Antwort
Seite 4 von 4   « Erste     234   
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#31

Re: Lösung TListview eigene Farbe andere Icons für Aktive It

  Alt 8. Dez 2005, 18:41
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?
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#32

Re: Lösung TListview eigene Farbe andere Icons für Aktive It

  Alt 8. Dez 2005, 19:31
bei mir gings bei beiden viewstyles
  Mit Zitat antworten Zitat
100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#33

Re: Lösung TListview eigene Farbe andere Icons für Aktive It

  Alt 8. Dez 2005, 21:01
ups, ich glaube ich habe den rahmen mit der gleichen farbe wie der hintergrund gezeichnet

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:
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;
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...
aber wenn man mehrere items mit der Shift-taste markiert, funktionierts wunderbar (siehe anhang)
Miniaturansicht angehängter Grafiken
listview2_109.jpg   listview1_186.jpg  
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#34

Re: Lösung TListview eigene Farbe andere Icons für Aktive It

  Alt 9. Dez 2005, 21:19
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

  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 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