Delphi-PRAXiS
Seite 2 von 3     12 3      

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 ListView Columns und OwnerDraw (https://www.delphipraxis.net/85218-listview-columns-und-ownerdraw.html)

EWeiss 28. Jan 2007 19:37

Re: ListView Columns und OwnerDraw
 
Liste der Anhänge anzeigen (Anzahl: 1)
[quote="Nils_13"]
Zitat:

Zitat von marabu
Hallo Nils,
Das heißt genauer ? Diese Sachen gehen so langsam über meinen Wissensbereich hinaus....

Es geht auch so.

Code:
    Dim i As Integer
    picBg.Width = lv.Width
    picBg.Height = lv.ListItems(1).Height * (lv.ListItems.Count)
    picBg.ScaleHeight = lv.ListItems.Count
    picBg.ScaleWidth = 1
    picBg.DrawWidth = 1
    picBg.Cls
    For i = 1 To lv.ListItems.Count
   
       If lv.ListItems(i).Checked = True Then
         picBg.Line (0, i - 1)-(1, i), &HC0FFFF, BF
       Else
         picBg.Line (0, i - 1)-(1, i), &HFF8080, BF
       End If
    Next
   

    lv.Picture = picBg.Image
Allerdings in VB mußt du nur übersetzen habe jetzt leider nicht die zeit dazu das für dich zu machen.

picBg ist ne PicBox mußt du eine alternative in Delphi finden.
lv = Listview mit lvwReport das gleiche wie vsReport in Delphi

gruß

Nils_13 28. Jan 2007 19:41

Re: ListView Columns und OwnerDraw
 
Das ist leider nicht das, was ich suche. Ich bin auf der Suche nach einer Möglichkeit, die Columns oder auch Header genannt anders zu färben.

marabu 29. Jan 2007 13:04

Re: ListView Columns und OwnerDraw
 
Hallo Nils,

in deinem Eröffnungsbeitrag hast du mitgeteilt, dass du eine Lösung aus dem Internet gefischt hast. Nachdem dir geholfen wurde diese Quelle zu übersetzen, schreibst du, dass sich dieser Lösungsansatz deinem Verständnis entzieht. Wenn du auf Erklärungen zu diesem Code wartest, dann musst du den Link mitteilen. Wenn du aber nach einer plug-and-play Lösung suchst, dann musst du dir mal alternative ListViews anschauen. VirtualStringGrid und EasyListView könnten da interessant für dich sein.

Grüße vom marabu

Nils_13 29. Jan 2007 14:02

Re: ListView Columns und OwnerDraw
 
Auf Fremdkomponenten möchte ich verzichten. Ich habe den Code von dieser Seite. Wenn ihr jetzt mehr mit meinem Problem anfangen könnt und mir helfen könnt, würde ich dann auch noch gerne den geeignetsten Ort für die Messages wissen.

marabu 29. Jan 2007 15:02

Re: ListView Columns und OwnerDraw
 
Hallo Nils,

nach den Hinweisen auf der verlinkten Seite hast du die Wahl: Entweder du leitest eine neue Komponente von T(Custom)ListView ab, welche einen message handler für WM_DRAWITEM bereit stellt (vielleicht aufbauend auf der erweiterten ListView von Peter Below), oder du arbeitest mit window subclassing, wozu du in der DP zahlreiche Beispiele finden kannst.

Freundliche Grüße

Nils_13 29. Jan 2007 15:32

Re: ListView Columns und OwnerDraw
 
Hi,

müsste ich DrawItem hier einbauen ?
Delphi-Quellcode:
procedure TPBExListview.WMNotify(var Msg: TWMNotify);
begin
  inherited;
  case Msg.NMHdr^.code of
    HDN_ENDTRACK:
      DoEndColumnResize(FindColumnIndex(Msg.NMHdr),
        FindColumnWidth(Msg.NMHdr));
    HDN_BEGINTRACK:
      DoBeginColumnResize(FindColumnIndex(Msg.NMHdr),
        FindColumnWidth(Msg.NMHdr));
    HDN_TRACK:
      DoColumnResize(FindColumnIndex(Msg.NMHdr),
        FindColumnWidth(Msg.NMHdr));
  end;
end;

marabu 30. Jan 2007 07:17

Re: ListView Columns und OwnerDraw
 
Hallo Nils,

WM_NOTIFY ist nicht WM_DRAWITEM - du wirst schon einen eigenen message handler spendieren müssen.

Freundliche Grüße

Nils_13 30. Jan 2007 14:09

Re: ListView Columns und OwnerDraw
 
Hallo,

Delphi-Quellcode:
procedure TPBExListview.WMDrawItem(var Msg: TWMDrawItem);
begin
  inherited;
  ...
end;
Was könnte dort denn dann rein ? Wie schon gesagt: Das ist Neuland für mich.

Nils_13 9. Feb 2007 17:41

Re: ListView Columns und OwnerDraw
 
Keiner eine Idee ? :(

_frank_ 9. Feb 2007 23:31

Re: ListView Columns und OwnerDraw
 
evtl. hilft dir
http://www.experts-exchange.com/Prog..._20190554.html,
http://www.openitpower.com/wenzhang/97/7556_1.html
oder
http://groups.google.de/group/borlan...461d2bc03fe6b5
weiter...

sag bescheid, wie dus gemacht hast, gibt scheinbar nicht viel zu dem Thema...

Gruß Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr.
Seite 2 von 3     12 3      

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