DELPHI7 ccombobox 文字水平居中,该如何解决

DELPHI7 ccombobox 文字水平居中这个我用空格移动在中间的,真麻烦,难道没有一个属性吗?[解决办法]引用:这

DELPHI7 ccombobox 文字水平居中
这个我用空格移动在中间的,真麻烦,难道没有一个属性吗?
[解决办法]

引用:
这个我用空格移动在中间的,真麻烦,难道没有一个属性吗?


没有属性,要自己写重画事件OnDrawItem:

首先要设置ComboBox的Style属性为:csOwnerDrawVariable


procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  ItemString: string;
begin
  TComboBox(Control).Canvas.FillRect(Rect);
  ItemString := TComboBox(Control).Items.Strings[Index];
  DrawText(TComboBox(Control).Canvas.Handle, PChar(ItemString), - 1, Rect, DT_CENTER);
end;