Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.026 c
3-1145287275
Рустем
2006-04-17 19:21
2006.06.11
Неправильно осуществляется поиск в таблице...


1-1146100720
vidiv
2006-04-27 05:18
2006.06.11
Как быстро экспортировать RichEdit в свой формат?


15-1147763288
Kolan
2006-05-16 11:08
2006.06.11
Где взять про объектное связывание?


15-1147683361
boalse
2006-05-15 12:56
2006.06.11
Анимация


5-1133518541
De
2005-12-02 13:15
2006.06.11
Как изменить внешний вид стандартного контрола?