AGB  ·  Datenschutz  ·  Impressum  







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

3 Spalte einer ListView

Ein Thema von crasher1985 · begonnen am 7. Nov 2007 · letzter Beitrag vom 8. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
crasher1985

Registriert seit: 2. Apr 2006
Ort: Steinbach-Hallenberg
50 Beiträge
 
Delphi 7 Enterprise
 
#1

3 Spalte einer ListView

  Alt 7. Nov 2007, 13:11
hallo ich möchte folgendes Umsetzen,

ich habe ein ListView mit Checkboxen und insgesamt 5 Spalten.
Desweiteren habe ich eine ImageListe angelegt. Nun möchte ich in der 3,4 und 5 Spalte des Listview diese Bilder anzeigen sozusagen als zusätzlichen Status in abhängigkeit einer von mir gemachten Funktion.

Also wie kann man überhaupt auf die 3 palte zugreifen? Subitems ist ja nur die 2'te und wie kann man die Bilder der Imagebox dort einfügen?

Danke für die Hilfe
Man lernt nie aus
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: 3 Spalte einer Listbox

  Alt 7. Nov 2007, 13:15
Entweder du schreibst dir einiges an Code für das Ownerdraw-Ereignis des "normalen" Listbox/Listview oder du nimmst/kaufst dir Grid/ListView-Komponenten die mehr an features bieten wie z.B. das ElPack
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
crasher1985

Registriert seit: 2. Apr 2006
Ort: Steinbach-Hallenberg
50 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: 3 Spalte einer Listbox

  Alt 7. Nov 2007, 13:18
mmhh ich kann doch aber der Normalen ListView Komponente ImageListen zuweisen hab ich gesehen da werd ich die Images doch wohl auch anzeigen können ohne großen Aufwand oder?

Und vorallem wie kann ich auf die 3 Spalte zugreifen das ist das was mich am ehsten intressiert
Man lernt nie aus
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: 3 Spalte einer Listbox

  Alt 7. Nov 2007, 13:20
Zitat von crasher1985:
mmhh ich kann doch aber der Normalen ListView Komponente ImageListen zuweisen hab ich gesehen da werd ich die Images doch wohl auch anzeigen können ohne großen Aufwand oder?

Und vorallem wie kann ich auf die 3 Spalte zugreifen das ist das was mich am ehsten intressiert
Für erste Spalte ja - Für die anderen Spalten ist es nicht vorgesehen -> OwnerDraw.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#5

Re: 3 Spalte einer Listbox

  Alt 7. Nov 2007, 13:22
Zitat von crasher1985:
wie kann man überhaupt auf die 3 palte zugreifen? Subitems ist ja nur die 2'te und wie kann man die Bilder der Imagebox dort einfügen?
Wie kommst du drauf, dass SubItems nur die 2. Spalte ist? SubItems[0] ist die 2. Spalte, SubItems[1] die 3. usw...
Wie Bernhard schon gesagt hast, wirst du aber Icons in anderen Spalten als der ersten in OwnerDraw selbst zeichnen müssen.

Btw: Änder doch bitte mal den Titel. Ich hab mich grade schon gewundert, seit wann Listboxen 3 Spalten haben können
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
crasher1985

Registriert seit: 2. Apr 2006
Ort: Steinbach-Hallenberg
50 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: 3 Spalte einer ListView

  Alt 7. Nov 2007, 13:32
ok das hab ich nun steh ich vor dem problem hab hier im Forum verschieden Themen zu hintergrundfarben ändern per CustomDrawSubItem gefunden. Nun möchte ich aber ein bild aus einer Imagelist wie soll ich das machen?

Delphi-Quellcode:
procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView;
  Item: TListItem; SubItem: Integer; State: TCustomDrawState;
  var DefaultDraw: Boolean);
var R: TRect;
    Text: String;
begin

if (Item.Index = 1) and (SubItem = 1) then
  begin
    //get subitems rect
    ListView1CustomDrawSubItem(Sender.Handle, Item.Index, SubItem, cdsDefault , @R);
    Sender.Canvas.Brush. :=
    Sender.Canvas.FillRect(R);
    DefaultDraw := False;
  end

end;
Man lernt nie aus
  Mit Zitat antworten Zitat
crasher1985

Registriert seit: 2. Apr 2006
Ort: Steinbach-Hallenberg
50 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: 3 Spalte einer ListView

  Alt 7. Nov 2007, 15:23
kann keiner helfen?
Man lernt nie aus
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: 3 Spalte einer ListView

  Alt 7. Nov 2007, 15:26
Schau doch mal in die Hilfe zu Delphi-Referenz durchsuchenTImageList. Diese hat eine Methode zum malen eines Eintrages auf einen Canvas. In der Routine die du gepostet hast, hast du ein Rechteck und ein Canvas. Nun nur noch beides kombinieren - so schwer ist das ist.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#9

Re: 3 Spalte einer ListView

  Alt 7. Nov 2007, 15:46
Du solltest auf dem VirtualStringTree von Mike Lischke umsteigen.
Der hat die Funktionen im Bauch.

Kostenlos inkl. Source
Soft Gems
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
crasher1985

Registriert seit: 2. Apr 2006
Ort: Steinbach-Hallenberg
50 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: 3 Spalte einer ListView

  Alt 7. Nov 2007, 19:45
mmhh umsteigen dauert jetzt zu lange mein Chef verlangt von mir am Freitag ne Final version nur irgendwie komm ich beim Zeichen der Images nicht weiter weil ich nicht weiss woher ich den Index für X Und Y bekomme.

BITTE HELFT MIR
Man lernt nie aus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:12 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