AGB  ·  Datenschutz  ·  Impressum  







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

Jedi TJvListview

Ein Thema von bluescreen25 · begonnen am 19. Okt 2006 · letzter Beitrag vom 22. Okt 2006
Antwort Antwort
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#1

Jedi TJvListview

  Alt 19. Okt 2006, 16:03
Kennt sich einer mit dieser Kompo aus?

In den Eigenschaften habe ich zu Picture ein bmp eingefügt, welches dann den Hintergrund des Listview hergibt.

Kommen Items rein, überdecken diese das Hintergrundbild, gewünscht war die Captions der Items auf den Hintergrund zu bekommen, klappt aber irgendwie nicht.

Grüße ,bluescreen25
  Mit Zitat antworten Zitat
marabu

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

Re: Jedi TJvListview

  Alt 20. Okt 2006, 07:13
Guten Morgen,

du musst die Items selbst zeichnen. Setze OwnerDraw auf True und probiere aus, was dir gefällt:

Delphi-Quellcode:
procedure TDemoForm.JvListViewCustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
  r: TRect;
begin
  with (Sender as TJvListView).Canvas do
  begin
    // restore background
    Brush.Style := bsClear;
    FillRect(Item.DisplayRect(drBounds));
    // show caption
    r := Item.DisplayRect(drLabel);
    Textout(r.Left+2, r.Top+2, Item.Caption);
  end;
  // keep bad things from happening
  DefaultDraw := False;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Jedi TJvListview

  Alt 20. Okt 2006, 13:54
Zitat von marabu:
Guten Morgen,

du musst die Items selbst zeichnen. Setze OwnerDraw auf True und probiere aus, was dir gefällt:

Delphi-Quellcode:
procedure TDemoForm.JvListViewCustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
  r: TRect;
begin
  with (Sender as TJvListView).Canvas do
  begin
    // restore background
    Brush.Style := bsClear;
    FillRect(Item.DisplayRect(drBounds));
    // show caption
    r := Item.DisplayRect(drLabel);
    Textout(r.Left+2, r.Top+2, Item.Caption);
  end;
  // keep bad things from happening
  DefaultDraw := False;
end;
Grüße vom marabu
Wie bekomme ich die SmallIcons vor die Einträge gezeichnet? Und warum sind alle Captions ineinander gezeichnet?
Gruß, bluescreen25
  Mit Zitat antworten Zitat
marabu

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

Re: Jedi TJvListview

  Alt 20. Okt 2006, 21:20
Wenn du mehrzeilige Items in der ListView (ViewStyle vsReport) haben möchtest, dann solltest du dich nach einer anderen Komponente umschauen. Die Item-Höhe wird über den Font eingestellt und kann später nicht mehr verändert werden. Viele ListView-Ersatzlösungen sind deutlich flexibler. Wenn ich das Feature bräuchte, dann würde ich VirtualTreeView und EasyListView daraufhin untersuchen.

Gute Nacht

marabu
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Jedi TJvListview

  Alt 20. Okt 2006, 21:38
Zitat von marabu:
Wenn du mehrzeilige Items in der ListView (ViewStyle vsReport) haben möchtest, dann solltest du dich nach einer anderen Komponente umschauen. Die Item-Höhe wird über den Font eingestellt und kann später nicht mehr verändert werden. Viele ListView-Ersatzlösungen sind deutlich flexibler. Wenn ich das Feature bräuchte, dann würde ich VirtualTreeView und EasyListView daraufhin untersuchen.

Gute Nacht

marabu
Ich habe mir beide Kompos angeschaut, diese scheinen sehr komplex zu sein. Naja ich werde es mal probieren.

Viele Grüße,bluescreen25
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Jedi TJvListview

  Alt 21. Okt 2006, 19:11
Sooooo, ich habe mal das EasyListView ins Auge gefasst.
Die Hilfedatei ist eher ungenügend, jedoch habe ich alles soweit, das es:

die Items mit Icon und 2-Zeilig darstellt.

Meine Frage: Wie erreiche ich beim EasyListView den virtual-Modus?

Grüße,bluescreen25
  Mit Zitat antworten Zitat
marabu

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

Re: Jedi TJvListview

  Alt 22. Okt 2006, 07:50
Guten Morgen,

habe mir EasyListView mal angesehen. Die Komponente scheint durch und durch virtuell zu arbeiten. Beim event OnItemGetCaption() werden die Texte für die Items abgefragt. Hilfreich ist das Studium des OnClick() handlers von Button2 im FullDemoProject.

Freundliche Grüße
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Jedi TJvListview

  Alt 22. Okt 2006, 07:59
Zitat von marabu:
Guten Morgen,

habe mir EasyListView mal angesehen. Die Komponente scheint durch und durch virtuell zu arbeiten. Beim event OnItemGetCaption() werden die Texte für die Items abgefragt. Hilfreich ist das Studium des OnClick() handlers von Button2 im FullDemoProject.

Freundliche Grüße
Erstmal herzlichen Dank für deine schnelle Antwort.

Da ich mir nicht zu helfen wusste habe ich die items:
Delphi-Quellcode:
begin
      with ShowList.Items.Add do
      begin //in List (Files ohne Pfade,ohne Endung)
        Caption:=(Copy(ExtractFilename(FileLst[I]),0, length(ExtractFilename(FileLst[I]))- 4));
        ImageIndex:=1; //MP3-Icon anzeigen
        Captions[1] := FileLst[I]; //kompletter Pfad
      end;
wieder nach "altem" Prinzip geaddet. Bis ich erstmal herausgefunden hatte, wie hier die SubItems behandelt werden...naja...egal...

Ich schau mir deinen Tip mal an und hoffe da weiter zu kommen.
Kommst du mit der Hilfe-Datei gut klar oder ist das nur bei mir so?


Gruß, bluescreen25
  Mit Zitat antworten Zitat
marabu

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

Re: Jedi TJvListview

  Alt 22. Okt 2006, 08:26
Die Hilfe-Datei ist ja eigentlich keine Hilfe-Datei, sondern lediglich ein automatisch generiertes Gerüst. Damit existiert schonmal die Struktur, aber die eigentliche Hilfe muss erst noch geschrieben werden. Der Aufwand dafür dürfte allerdings nicht gering sein. Einziger Anhaltspunkt für die Funktionsweise scheinen momentan die Demos zu sein.

Grüße
  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 09:26 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