Цитата:
Сообщение от Gareth
Я со всем разобрался, не знаю лишь как загрузить в speedbutton или bitbtn икону ярлыка.
|
Честно не могу понять в чём у тебя загвоздка. Выше я уже приводил код, который получает иконку для конкретного файла (в примере было для калькулятора). Осталось только переделать этот код, чтобы он получал иконку из произвольно выбранного (через OpenDialog) файла:
Код:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
ico: TIcon;
bmp: TBitmap;
FileName: AnsiString;
begin
if OpenDialog1.Execute then
begin
FileName := OpenDialog1.FileName;
ico := TIcon.Create;
try
ico.Handle := ExtractIcon(HInstance, Pointer(FileName), 0);
bmp := TBitmap.Create;
try
bmp.PixelFormat := pf32bit;
bmp.Width := ico.Width;
bmp.Height := ico.Height;
bmp.Canvas.Draw(0, 0, ico);
SpeedButton1.Glyph.Assign(bmp);
finally
bmp.Free;
end;
finally
ico.Free;
end;
end;
end;