Mir passt doch nicht die Höhe der Items, also muss ich selbst mit OnDrawItem malen.
Immer wenn ich das in einem Combo mache, das csDropDownList gesetzt hat, dann sieht das Feld natürlich weiß aus, denn ich muss mit Fill das Rect ja irgendwie füllen.
Wenn ich nicht selbst male, dann kapiert die ComboBox nicht dass ich eine kleine Schriftgröße haben will.
Bild TCB-ItemHeight6.png, ich male nicht selbst. "Item 1" Text ist nur halb gemalt, obwohl ich Font.Size auf 8 gesetzt habe
Bild TCB-ItemHeight7.png, ich male selbst. "Item 1" Text passt jetzt die größe, dafür sieht es beschissen aus, nämlich weiß. Font.Size passt.
Den Code hatte ich schon mal gepostet: viewtopic.php?p=40665#p40665
Nur hab ich das ganze jetzt etwas kleiner in ein neues Projekt gemacht. (Im Objektinspektor wird nur noch die Eigenschaft "Items" mit Dummy-Items gefüllt, der rest macht dieser Code)
Nach wie vor sehe ich in der Combo-Box ein Bug, nämlich dass der bei csDropDownList nicht meine vorgegebene Schriftart übernimmt UND dass die Eigenschaft ItemHeight völlig falsch behandelt wird wodurch die Items den doppelten Abstand haben, als sie eigentlich haben müssten.
Ausserdem sollte ItemHeight in jeder Style frei eingebbar sein, ich sehen keinen trifftigen Grund warum ich hier als Programmierer eingeschrängt werde.
Lazarus unter Linux, TComboBox
-
- Beiträge: 1470
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
- CPU-Target: 32/64Bit
Re: Lazarus unter Linux, TComboBox
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: Lazarus unter Linux, TComboBox
Stell doch einfach einen Redmond-Theme unter Gnome ein.