Внешний вид сайта:

Как выровнять по правому краю пункты в ComboBox

Предположим, у Вас в ComboBox находятся числовые значения. Как отобразить пункты в ComboBox, чтобы они были выровнены по правому краю?

Выравнивание пунктов ComboBox по правому краю

Первым делом поместите на форму ComboBox, затем напишите следующий код:

procedure TForm1.FormCreate(Sender: TObject) ;
begin
   ComboBox1.Style := csOwnerDrawFixed;


//для ListBox используйте "lbOwnerDrawFixed"
end;

//Обработчик события OnDrawItem
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
   Rect: TRect; State: TOwnerDrawState) ;
var
   x: Integer;
   txt: String;
begin
   with ComboBox1 do
   begin
     Canvas.FillRect(Rect) ;
     txt := Items[Index];
     x := Rect.Right - Canvas.TextWidth(txt) - 4;
     Canvas.TextOut(x, Rect.Top, txt) ;
   end;
end;



Комментарии

Нет комментариев. Ваш будет первым!