Jak zmniejszyć wysokość ComboBox'a w Delphi?

0

No ,więc mam nadzieję, że napisze może mi ktoś jak zmniejszyć wysokość ComboBox'a w Delphi, kiedy mam ustawioną w nim czcionkę Lucida Console 10, do wysokości 14. Minimalna wysokość, jaką daje się ustawić to 21 a ja potrzebuję 14. Problem polega chyba na tym, że ustawione są tam "marginesy", coś jakby obwódka na ok. 3 piksele wokół wpisywanego tekstu, która zajmuje dodatkowe piksele wysokości. Nie mogę jej usunąć.

Z góry wielkie dzięki za pomoc!

P.S. W ComboBox'ie opcja "Ctl3D" ma być ustawiona "False" a "BevelKind" na "bkFlat".

0

Może spróbuj wykorzystać owner draw? :)

0

Bardzo śmieszne. OwnerDraw nie ma w komponencie ComboBox. OwnerDraw "występuje" tylko w TMenu, TCustomListView i w TCustomTabControl.

0

thenklesowi chodziło TComboBox.Style := csOwnerDrawFixed (lub Variable) + obsługa zdarzenia TComboBox.OnDrawItem.
Ale to i tak raczej nie rozwiązuje Twojego problemu.

0

raczej musisz zakombinowac ze stylem csOwnerDrawVariable i obsługiwać event OnMeasureItem (ustawić Height na ile trzeba), a następnie samemu narysować sobie elementy ComboBoxa w evencie OnDrawItem. W celu uniknięcia bałaganu do pisania w tym evencie dobrze jest zrobić coś takiego
ComboBox1.Canvas.TextRect(Rect,Rect.left+3,Rect.top,ComboBox1.Items.Strings[Index]);

1 użytkowników online, w tym zalogowanych: 0, gości: 1