AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit DrawItem bei Listbox

Ein Thema von Hansa · begonnen am 28. Feb 2003 · letzter Beitrag vom 28. Feb 2003
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Problem mit DrawItem bei Listbox

  Alt 28. Feb 2003, 10:46
Hi,

ich habe hier eine Listbox, bei der ich die einzelnen Items per Quelltext manipulieren muß. Das habe ich in das OnDrawItem - Event geschrieben. Da tat sich aber nichts. Jetzt bin ich mal mit F8 über den Quelltext gewandert und mußte feststellen, daß die Prozedur überhaupt nicht durchlaufen wird. Wann wird denn OnDrawItem überhaupt ausgeführt ?
Gruß
Hansa
  Mit Zitat antworten Zitat
janjan

Registriert seit: 16. Jan 2003
Ort: Bonn ("links über Königswinter ")
240 Beiträge
 
Delphi 4 Standard
 
#2
  Alt 28. Feb 2003, 11:03
Du musst die Eigentschaft 'Style' auf 'lbOwnerDrawFixd' oder 'lbOwnerDrawVariable' setzen.

Zitat:
Style:
Beschreibung

Mit Style können Sie festlegen, ob es sich bei dem Listenfeld um ein Standardlistenfeld handelt, das Strings anzeigt, oder um ein Owner-Draw-Listenfeld, das auch Grafiken anzeigen kann. Owner-Draw-Listenfelder ermöglichen es dem Entwickler, Einträge auf eine Weise anzuzeigen, die nicht dem Standard entspricht. Der entsprechende Quelltext zum Zeichnen von Elementen im Listenfeld muss in diesem Fall vom Anwendungsentwickler bereitgestellt werden.

Style bestimmt, ob das Listenfeld virtuell ist, die Einträge als dynamisch über Ereignisbehandlungsroutinen bereitgestellt werden. Standardmäßig hat Style den Wert lbStandard, was bedeutet, daß das Listenfeld nicht virtuell ist und alle Einträge als Strings angezeigt werden.
und

Zitat:
lbOwnerDrawFixed:
Das Listenfeld ist ein Owner-Draw-Listenfeld. Jeder Eintrag im Listenfeld hat die in der Eigenschaft ItemHeight angegebene Höhe. Wenn ein Eintrag in einem Listenfeld mit dem Stil lbOwnerDrawFixed angezeigt wird, tritt das Ereignis OnDrawItem auf. Die Ereignisbehandlungsroutine für OnDrawItem zeichnet den angegebenen Eintrag. Die Eigenschaft ItemHeight bestimmt die Höhe der Einträge.

lbOwnerDrawVariable:
Das Listenfeld ist ein Owner-Draw-Listenfeld. Die Einträge im Listenfeld können unterschiedliche Höhen aufweisen. Sobald ein Eintrag in einem Listenfeld mit dem Stil lbOwnerDrawVariable angezeigt wird, treten zwei Ereignisse auf. Zuerst wird das Ereignis OnMeasureItem ausgelöst. In der Ereignisbehandlungsroutine für OnMeasureItem kann die Höhe der Einträge definiert werden. Anschließend tritt das Ereignis OnDrawItem auf. Mit dem Quelltext der Ereignisbehandlungsroutine für OnDrawItem wird jeder Eintrag im Listenfeld unter Verwendung der mit der Ereignisbehandlungsroutine für OnMeasureItem angegebenen Größe gezeichnet.
Die Wichtigkeit eines Postings im Forum ist reziprok zur Anzahl der enthaltenenen, kumulierten Ausrufungszeichen!!!
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3
  Alt 28. Feb 2003, 12:11
Danke,

ja das war der Haken, hät ich auch selber drauf können kommen. 8)
Gruß
Hansa
  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 10:38 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