Combobox verwendet keine vcl-Stil-Hervorhebungsfarbe.

8

Ich verwende eine Combobox mit aktivierten vcl-Stilen, aber wenn ich die Anwendung ausführe, ist die von der Combobox verwendete Hervorhebungsfarbe die Windows-Hervorhebungsfarbe und nicht die vcl-Stile.

Wie kann ich das beheben, ich meine die vcl-Stil-Highlight-Farbe in der Combobox?

    
Salvador 16.03.2012, 17:07
quelle

2 Antworten

14

Soweit ich weiß, ist die einzige Problemumgehung für dieses Problem OwnerDraw die Combobox

Probieren Sie diese Schritte

aus
  1. Setzen Sie die Style-Eigenschaft der Combobox auf csOwnerDrawFixed
  2. Verwenden Sie im OnDrawItem-Ereignis die vcl styes-Methoden zum Zeichnen der Combobox-Elemente.

Überprüfen Sie diesen Beispielcode

%Vor%

Weitere Informationen finden Sie in diesem Artikel Vcl Styles and Owner Draw . Sie können auch den Vcl.Styles.OwnerDrawFix verwenden Unit (Teil des vcl-styles-utils-Projekts ), das eine Menge von Besitzer zeichnet Routinen für Komponenten wie TListBox, TComboBox und TListView.

    
RRUZ 16.03.2012, 19:44
quelle
4

Das sollte eins für RRUZ sein. :)
Siehe seinen Blogbeitrag: Ссылка

(behalte den Sprecher für seine baldige Antwort, aber du bekommst einen Anfang ^ _ ^)

    
François 16.03.2012 17:39
quelle

Tags und Links