Текущий архив: 2006.06.11;
Скачать: CL | DM;
Вниз
Иконки в ListBox Найти похожие ветки
← →
Nver (2006-05-25 12:43) [0]Можно ли сделать иконки около строк в ListBox? Если нет, то чем тогда можно воспользоваться?
← →
unknown © (2006-05-25 13:19) [1]Можно. Это достаточно просто, вот к примеру :
const
Step:byte=2; // Для красивости понадобится отступ
BmpSize:byte=16; // возьмем bmp размером 16x16
var
Form1: TForm1;
Bmp1,Bmp2:Graphics.TBitMap;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Bmp1:=Graphics.TBitMap.Create;
Bmp2:=Graphics.TBitMap.Create;
Bmp1.LoadFromFile("c:\bmp1.bmp");
Bmp2.LoadFromFile("c:\bmp2.bmp");
with ListBox1 do
begin
Style:=lbOwnerDrawFixed;
Items.Text:="aaa"#13#10"bывапи ывап ывыавп ывап bb"#13#10"cывап ыавпыв ы cc"#13#10"ddd"#13#10"eee";
end;
end;
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with ListBox1.Canvas do
begin
FillRect(Rect);
if (Index mod 2)=0 then
Draw(Rect.Left+Step,Rect.Top+Step,Bmp1)
else
Draw(Rect.Left+Step,Rect.Top+Step,Bmp2);
Rect.Left:=Rect.Left+Step+BmpSize;
DrawText(Handle,PAnsiChar(ListBox1.Items[Index]),-1,Rect,DT_WORD_ELLIPSIS);
end;
end;
← →
unknown © (2006-05-25 13:21) [2]Хотя, в принципе, без отступа красивее получается :)
← →
Nver (2006-05-25 13:21) [3]Спасибо =)
← →
Amoeba © (2006-05-25 13:22) [4]Лучше битмапы заранее поместить в ImageList, а не грузить каждый раз из файлов, и брать уже из оттуда.
Страницы: 1 вся ветка
Текущий архив: 2006.06.11;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.028 c