Показать сообщение отдельно
  #7  
Старый 08.04.2014, 16:49
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от 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;
Ответить с цитированием