Ver Mensaje Individual
  #11  
Antiguo 05-03-2008
Avatar de PeterPunk
PeterPunk PeterPunk is offline
Miembro
 
Registrado: ene 2008
Ubicación: Vigo
Posts: 22
Reputación: 0
PeterPunk Va por buen camino
Cita:
Empezado por mamu Ver Mensaje
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.
Responder Con Cita