Показать сообщение отдельно
  #4  
Старый 08.04.2014, 10:33
Gareth Gareth вне форума
Активный
 
Регистрация: 21.03.2013
Адрес: Приднестровье
Сообщения: 202
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Компонент 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;
Этот код позволяет вставлять в speedbutton только ico, когда вставляю файл например exe, jpg или что-то другое, на кнопке появляется белый квадрат.
Как можно сделать так, что бы отображался любой ярлык?)
Ответить с цитированием