Código Delphi
[-]ComboBox1.Style := csCenter; <<< Esta propiedad no existe ni en C6 ni en D7
Encontré una variante propuesta por PeterPunk, que sí lo centra, tanto horizontal como vertical, pero anula la propiedad ComboBox1.Text, la cual creo es necesaria para que
el usuario tenga una idea de lo que va a desplegar
////////
procedure TForm3.ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); var R:TRect; str:String; begin R := Rect; str := TComboBox(Control).Items[Index]; InflateRect(R, -1, -1); TComboBox(Control).Canvas.TextRect(R, Str, [tfCenter]); << Esta opción tampoco funciona, no existe tfCenter end;En que versión de Delphi lo testeaste?? porque en D7 no funciona
Código Delphi
[-]procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var s: string; x, y: Integer; begin if Column.Field.DataType = ftCurrency then begin s := '$' + Column.Field.AsString; x := Rect.Right - Canvas.TextWidth(s) - 2; y := Rect.Top + 2; DBGrid1.Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, '$'); DBGrid1.Canvas.TextRect(Rect, x, y, s); end else DefaultDrawColumnCell(Rect, DataCol, Column, State);<<<< Dónde está definido DefaultDrawColumnCell ???? me da error end;