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

Odpowiedz Nowy wątek
2006-09-15 17:04
Mike L
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".

Pozostało 580 znaków

2006-09-18 23:50
0

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

Pozostało 580 znaków

2006-09-19 18:24
Mike L
0

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

Pozostało 580 znaków

2006-09-19 18:39
0

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

Pozostało 580 znaków

2008-02-02 17:38
ppiskors
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]);

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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