Delphi-PRAXiS
Seite 2 von 2     12   

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 Wie Punkte hinter ListView Eintraegen abschneiden? (https://www.delphipraxis.net/67619-wie-punkte-hinter-listview-eintraegen-abschneiden.html)

Mackhack 17. Apr 2006 22:43

Re: Wie Punkte hinter ListView Eintraegen abschneiden?
 
Ah,

muss man ja schliesslich wissen... Dank Dir! :???:

mkinzler 17. Apr 2006 22:46

Re: Wie Punkte hinter ListView Eintraegen abschneiden?
 
In der Delphi-Hilfe kannst du auch lesen, was sie (Konstante) als Parameter bewirkt

Mackhack 18. Apr 2006 05:32

Re: Wie Punkte hinter ListView Eintraegen abschneiden?
 
Hi ihr,

die Funktion funzt soweit nur macht sie nicht so recht was ich will. Ich habe jetzt nur noch die Caption im ListView und alles andere ist weg. Jedoch habe ich noch 8 SubItems. Der zu lange Text ist eigentlich nur im SubItem[0]. Jedoch hab ich versucht es mit Item.SubItem[0] zu loesen, was nicht funktioniert hat.

Wo steckt mein Denkfehler?

mkinzler 18. Apr 2006 05:46

Re: Wie Punkte hinter ListView Eintraegen abschneiden?
 
Was funktioniert nicht? Hast du beide Vorkommen von Item ersetzt?

marabu 18. Apr 2006 08:23

Re: Wie Punkte hinter ListView Eintraegen abschneiden?
 
Guten Morgen.

Für ein SubItem nimmt man nicht OnCustomDrawItem:

Delphi-Quellcode:
procedure TDemoForm.ListViewCustomDrawSubItem(Sender: TCustomListView;
  Item: TListItem; SubItem: Integer; State: TCustomDrawState;
  var DefaultDraw: Boolean);
var
  r: TRect;
begin
  DefaultDraw := SubItem <> 1; // Lösung für erstes SubItem
  // DefaultDraw := SubItem > Item.SubItems.Count; // allgemeine Lösung
  if not DefaultDraw then
  begin
    r.Top := SubItem;
    r.Left := LVIR_LABEL;
    Sender.Perform(LVM_GETSUBITEMRECT, Item.Index, Integer(@r));
    Sender.Canvas.TextRect(r, r.Left + 2, r.Top + 2, Item.SubItems[Pred(SubItem)]);
  end;
end;
Grüße vom marabu

Mackhack 18. Apr 2006 17:03

Re: Wie Punkte hinter ListView Eintraegen abschneiden?
 
Hi Marabu,

werde das heute abend gleich mal ausprobieren. Hab vielen Dank fuer den Code!

Mackhack 23. Apr 2006 05:43

Re: Wie Punkte hinter ListView Eintraegen abschneiden?
 
Hi,

hab den Code eben mal versuchen wollen aber in welcher Unit sind denn

Delphi-Quellcode:
LVIR_LABEL
und
Delphi-Quellcode:
LVM_GETSUBITEMRECT
drin?

//Edit: Hätte ich auch selbst draufkommen können: Steht in der Unit CommCtrl drin!


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 Uhr.
Seite 2 von 2     12   

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