Цитата:
Сообщение от Gareth
Я умею загружать в image путь до файла и его ярлык. То-есть по нажатию на image у меня отображается иконка и запускается программа...
Как мне сделать тоже самое на кнопки в которые можно загружать картинки, типа speedbutton.
Загружается всё через опендиалог
|
Компонент TSpeedButton иконки не умеет отображать, он отображает TBitmap, поэтому для отображения иконки в TSpeedButton нужно её преобразовать в TBitmap.
Примерно как-то так:
Код:
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
ico: TIcon;
bmp: TBitmap;
begin
ico := TIcon.Create;
try
ico.Handle := ExtractIcon(HInstance, 'C:\WINDOWS\system32\calc.exe', 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;