Thema: Delphi SpeedButton - kein Bild?

Einzelnen Beitrag anzeigen

Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#23

Re: SpeedButton - kein Bild?

  Alt 31. Aug 2006, 14:45
Zitat von MarLe:
Ich werde dennoch auch noch versuchen das gleiche mit SHGetFileInfo
abbilden zu können, dann könnte man alternativ auch die kleineren Icons
verwenden. Vielleicht hat's auch schon jemand umgesetzt.
Ja, ich:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ICO: TIcon;
  SHFileInfo: TSHFileInfo;
begin
  ICO := TIcon.Create;
  try
    FillChar(SHFileInfo, SizeOf(SHFileInfo), #0);
    SHGetFileInfo(PChar(Edit1.Text), 0, SHFileInfo, SizeOf(SHFileInfo), SHGFI_Icon or SHGFI_SmallIcon); //SHGFI_LargeIcon für die großen Symbole
    ICO.Handle := SHFileInfo.hIcon;
    SpeedButton1.Glyph.Width := ICO.Width;
    SpeedButton1.Glyph.Height := ICO.Height;
    SpeedButton1.Glyph.TransparentColor := clNone;
    SpeedButton1.Glyph.Canvas.Brush.Color := Color;
    SpeedButton1.Glyph.Canvas.FillRect(Rect(0, 0, SpeedButton1.Glyph.Width, SpeedButton1.Glyph.Height));
    SpeedButton1.Glyph.Canvas.Draw(0, 0, ICO);
  finally
    ICO.Free;
  end;
end;
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat