AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListView: Itemabstände festlegen

Ein Thema von Nils_13 · begonnen am 8. Jul 2008 · letzter Beitrag vom 8. Jul 2008
Antwort Antwort
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

ListView: Itemabstände festlegen

  Alt 8. Jul 2008, 15:29
Hi,

könnte man mit Hilfe von OwnerDraw die Abstände der Einträge einer ListView, in der Ansicht vsIcon, zueinander selbst setzen ? Wie, falls ja ?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: ListView: Itemabstände festlegen

  Alt 8. Jul 2008, 15:51
Hallo Nils,

natürlich kannst du dich freiwillig auf einen kleineren Teil des Item-Rect beschränken, aber grundsätzlich sind die Angaben zum Icon-Spacing Parameter der Shell (SystemParametersInfo), die der Benutzer deines Programmes steuert.

Freundliche Grüße
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#3

Re: ListView: Itemabstände festlegen

  Alt 8. Jul 2008, 16:19
Und kann man das Rect auch verkleinern, wenn man im virtuellen Modus arbeitet ? Dort gibt es in OnData an der markierten Stelle immer eine Zugriffsverletzung, obwohl das Array befüllt ist. Es scheint so, als würde erst OnData, dann OnCustomDrawItem und zum Schluss noch einmal OnData aufgerufen werden.
Delphi-Quellcode:
// OnwerData=True
// OwnerDraw=False <-- Fehler in Delphi, OwnerDraw darf nicht True sein.

procedure TRazFileManager.LVData(Sender: TObject; Item: TListItem);
begin
  with Item do
  begin
    Caption := DirsFiles[Index].Name; // AV
    SubItems.Add(DirsFiles[Index].Typ);
    if Pfad = 'rootthen
      SubItems.Add(DirsFiles[Index].Pfad);
    ImageIndex := DirsFiles[Index].ImageIndex;
  end;
end;

procedure TRazFileManager.LVCustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  Sender.Canvas.Font.Color := clRed;
end;
  Mit Zitat antworten Zitat
extrem

Registriert seit: 27. Mai 2008
72 Beiträge
 
#4

Re: ListView: Itemabstände festlegen

  Alt 8. Jul 2008, 21:24
Zitat von Nils_13:
Hi,

könnte man mit Hilfe von OwnerDraw die Abstände der Einträge einer ListView, in der Ansicht vsIcon, zueinander selbst setzen ? Wie, falls ja ?
Hi

Da hier gerade was von Icon-Spacing geschrieben wurde, hast du es schon mit CommCtrl.ListView_SetIconSpacing(listview1.Handle, 30, 0); versucht?
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#5

Re: ListView: Itemabstände festlegen

  Alt 8. Jul 2008, 22:17
Das ist genau das was ich suche. Danke! Allerdings wäre es noch brauchbar, dennoch das Problem mit OwnerDraw hinzubekommen, damit ich damit auch noch später was mit Lazarus anfangen kann.
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:01 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