Voor mijn comboboxes heb ik een OwnerDraw procedure waarbij ik de selected kleur zelf ik kan stellen.
Hiervoor moet de stijl van de Combobox natuurlijk wel op csownerdrawfixed staan.
Wanneer ik nu het lettertype vergroot veranderd de itemheight niet meer automatisch mee, vanwege de ingestelde style.
Ik moet dit dus zelf doen in mijn OwnerDraw routine.
Als ik in deze routine echter de itemheight instel krijg ik een AV om mijn oren
Weet iemand een manier waarbij ik toch mijn OwnerDraw routine kan blijven gebruiken en ook de Itemheight kan aanpassen
Hierbij de code van de huidige ownerdraw routine
Code:
procedure TOpmaak.ComboboxDrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
TComboBox(Control).Canvas.Font.Color := clBlack;
if odSelected in State then
begin
TComboBox(Control).Canvas.Pen.Style := PSsolid;
TComboBox(Control).Canvas.Brush.Color := style.Colors.ButtonSelectedColorFrom;
TComboBox(Control).Canvas.Pen.Color := clblack;
TComboBox(Control).Canvas.Rectangle(Rect);
InflateRect(Rect, -1, -1);
end;
TComboBox(Control).Canvas.TextRect(Rect, Rect.Left, Rect.Top, TComboBox(Control).Items.Strings[index]);
end;
Bookmarks