AGB  ·  Datenschutz  ·  Impressum  







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

Listbox mit Objekten

Ein Thema von Luckie · begonnen am 8. Aug 2007 · letzter Beitrag vom 8. Aug 2007
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Listbox mit Objekten

  Alt 8. Aug 2007, 12:50
Gibt es eine Listbox-Komponente in deren Items man Objekte darstellen kann und Text? Ich müsste mehrere TImage-Komponenten verwalten und der Benutzer soll an Hand dieser Liste die Image-Komponenten auswählen können, welches dargestellt werden soll.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
marabu

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

Re: Listbox mit Objekten

  Alt 8. Aug 2007, 13:00
Hallo Michael,

angesichts des Code-Beispiels zu OnDrawItem() in der Online-Hilfe würde ich keine Komponente mehr suchen. Wären es keine TImages sondern Icons, dann gäbe es da TIconListBox.

Freundliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Listbox mit Objekten

  Alt 8. Aug 2007, 13:05
Zitat von marabu:
angesichts des Code-Beispiels zu OnDrawItem() in der Online-Hilfe würde ich keine Komponente mehr suchen
Das Beispiel kenne ich, da wird direkt auf den Canvas eines Items gezeichnet. Aber ich wollte eigentlich dort sichtbare Komponenten ablegen und zwar mindestens zwei pro Item. Ich verstehe nicht so ganz, was du mir mit dem zweiten Teil deines Satzes sagen willst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Listbox mit Objekten

  Alt 8. Aug 2007, 13:14
Das Property Items der Standard Listbox-Komponente ist doch vom Typ TStrings.
In TStrings lassen sich doch pro Item ein Text und ein Objekt hinterlegen.
Wenn man pro Item mehr als ein Objekt braucht, dann braucht man pro Item eine TObjectList und packt dort die Objekte rein.
Alternativ baut man sich ein Wrapper-Objekt, das mehrere Objekte unter einem Dach vereint.
Delphi-Quellcode:
TListBoxItemObj=class(TPersistent)
   property RotesObjekt : TImage;
   property BlauesObjekt : TImage;
end;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Listbox mit Objekten

  Alt 8. Aug 2007, 13:19
Zitat von shmia:
In TStrings lassen sich doch pro Item ein Text und ein Objekt hinterlegen.
Ja, hinterlegen, aber diese Objekte sind sichtbare Komponenten, die ich in den Items der Listbox anzeigen will. Ich will keine Instanz speichern.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
marabu

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

Re: Listbox mit Objekten

  Alt 8. Aug 2007, 13:27
Hallo Michael,

Zitat von Luckie:
Das Beispiel kenne ich, da wird direkt auf den Canvas eines Items gezeichnet. Aber ich wollte eigentlich dort sichtbare Komponenten ablegen und zwar mindestens zwei pro Item.
du glaubst nicht wie leicht man eine Frage missverstehen kann. Eine Frage von dir in Richtung "wie kann ich einen einzigen Pointer benutzen um auf mehr als ein Objekt zu zeigen" (siehe den Beitrag von Andreas) habe ich nicht erwartet und habe dein Problem deshalb in Richtung Darstellung interpretiert. Vor diesem Hintergrund solltest du meine Antwort verstehen. (Klartext: Icons erfüllen die Anforderungen an eine Listbox-Darstellung und lassen sich wunderbar auf eine gemeinsame Leinwand übertragen, beliebige Images sollten besser in einen Container gepackt werden).

Wenn es aber doch um die Darstellung geht, dann solltest du deine Anforderungen etwas klarer herausarbeiten.

Freundliche Grüße
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: Listbox mit Objekten

  Alt 8. Aug 2007, 13:28
Zitat von Luckie:
Ja, hinterlegen, aber diese Objekte sind sichtbare Komponenten, die ich in den Items der Listbox anzeigen will. Ich will keine Instanz speichern.
Das eine schliesst das andere nicht aus. Du kannst doch schliesslich im OnDrawItem die beiden jeweiligen Objekte (Images), welche bei dem gerade zu malenden Eintrag hinterlegt sind, malen. Oder was nun?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Listbox mit Objekten

  Alt 8. Aug 2007, 13:33
Ok, war etwas missverständlich. Aber ich denke, ich habe eine andere Lösung gefunden:
http://www.delphipraxis.net/internal...t.php?t=115903
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 04:39 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