Cita:
Empezado por mamu
probe de todo para el vertical y este no centra.
|
Pero con TextOut le indicas la posición X e Y donde está el texto por lo que ahí sí que podrías centrar:
Código Delphi
[-]procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with (Control as TComboBox) do
begin
Canvas.FillRect(Rect);
SetTextAlign(Canvas.Handle, TA_CENTER);
Canvas.TextOut(Rect.Right div 2, Rect.Top + (ItemHeight + Font.Height) div 2, Items[Index]);
end;
end;
De todas formas ésto sólo sirve si cambias el tamaño de la fuente y/o de los items del combobox dejándolos descompesados y lo cierto es que no entiendo la utilidad de esto.
Por ejemplo usar una letra de tamaño 8 y un ComboBox.ItemHeight de valor 30
Saludos.