Статьи
|
Чтобы добавить иконку в TListBox, выполните следующее:
procedure TForm1.Button1Click(Sender: TSender);
var Icon: TIcon;
begin
Icon := TIcon.Create;
Icon.LoadFromFile('DELPHI.ICO');
ListBox1.Items.AddObject('Delphi', Icon);
end;
И далее:
procedure TForm1.ListBox1DrawItem(Control: TWinControl;
Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
Icon: TIcon;
Offset: Integer; { Смещение текста }
begin
with (Control as TListBox).Canvas do
{ Рисуем на управлении }
begin
FillRect(Rect); { Очищаем прямоугольник }
Offset := 20; { Смещение по умолчанию }
Icon := TIcon((Control as TListBox).Items.Objects[Index]);
{ Получаем иконку для этого пункта }
if Icon <> nil then
begin
Draw(Rect.Left + 1, Rect.Top + 2, TIcon((Control as
TListBox).Items.Objects[Index]));
Offset := Icon.width + 9;
{ Добавляем пробел между иконкой и текстом }
end;
TextOut(Rect.Left + Offset, Rect.Top + 7, (
Control as TListBox).Items[Index])
{ Вывод текста }
end;
end;
|
Комментарии
Свойство Style ListBox необходимо установить в lbOwnerDrawFixe d
RSS лента комментариев этой записи