![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
добавление BitMap в ImageList [D6, WinXP]
webpauk © (2006-12-14 14:54:00)
procedure TFormOptions.AddImagesToIL(Active: Integer);
var
fBmp: TBitmap;
fI: Integer;
begin
fBmp:=TBitmap.Create;
fBmp.Width:=ImageList2.Width;
fBmp.Height:=ImageList2.Height;
fBmp.Transparent:=True;
ImageList1.Clear;
for fI := 0 to 3 do
begin
fBmp.Canvas.FillRect(fBmp.Canvas.ClipRect);
if Active=fI then ImageList2.GetBitmap(fI, fBmp) else ImageList3.GetBitmap(fI, fBmp);
ImageList1.Add(fBmp, nil);
end;
fBmp.Free;
end;
таким вот образом заполняется ImageList1 Bitmap ами. Проблема в том, что при ToolBar1.Images=ImageList1 на кнопках рисунок не Transparent. В чем может быть проблема?
clickmaker (2006-12-14 15:25:00) [1]все одно GetBitmap все затрет
fBmp.Transparent := true;
fBmp.TransparentColor := ...
послеGetBitmap
webpauk (2006-12-14 15:14:00) [2]
> clickmaker © (14.12.06 15:03) [1]
а где я рисую?
fBmp.Canvas.FillRect(fBmp.Canvas.ClipRect); - всего лишь очистка Canvas
clickmaker (2006-12-14 15:03:00) [3]
> fBmp.Canvas.FillRect(fBmp.Canvas.ClipRect);
>
> if Active=fI then ImageList2.GetBitmap(fI, fBmp) else
> ImageList3.GetBitmap(fI, fBmp);
смысл рисовать на fBmp, если ты все равно его получаешь из имидж листов?