Простой пример того как установить выравнивание записей по правому краю в
компоненте ComboBox.
Для начала запустим Delphi и создадим новый проект. На форму кидаем один
компонент ComboBox с закладки Standard. После чего создайте в нем несколько
записей, делается это очень просто выделяем ComboBox находим у него свойство
Item жмем по нему два раза, открывается окно записываем в нем какой ни будь
текст.
Затем создадим обработчик событий OnCreate на Форме и в нем пропишем
следующую строку :
ComboBox1.Style := csOwnerDrawFixed;
Полный код обработчика событий OnCreate должен выглядеть так:
procedure TForm1.FormCreate(Sender: TObject) ;
begin
ComboBox1.Style := csOwnerDrawFixed;
end;
Далее опять же выделяем ComboBox и создаем на нем обработчик событий
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;
Посмотрите что получилось у меня и допишите не достающие строки.
Вот в принципе и все запускаем проект ... теперь записи выравниваются по правому
краю!
![](/images/sustem/combobox-to_equalize_on_a_right.gif)
|