Thema: Delphi Icon Problem

Einzelnen Beitrag anzeigen

Benutzerbild von mOzZzI
mOzZzI

Registriert seit: 11. Nov 2005
Ort: Bamberg
320 Beiträge
 
Delphi 2006 Professional
 
#1

Icon Problem

  Alt 5. Feb 2006, 19:45
Hai,
Also ich habe ein Problem mit meiner Schnellstartleiste, ich habe bis jetzt ein Drag&Drop Message eingebaut und kann auch die Programme starten, die in der Schnellstartleiste drin sind.
Jetzt fehlt mir noch das Icon des Gedroppeden Gegenstandes, das Problem ist
ich weiß nicht wie ich das Icon der .Exe auslesen, dann in Bitmap konvertieren, abspeichern, und dann auf dem Button, wo man Drag&Drop gemacht hat, absetzt...

Hier mein Codeschnipsel:
Delphi-Quellcode:
function FileIcon(FileName: String): TIcon;
var FileInfo: TSHFileInfo; AIcon: TIcon;
begin
  FillChar(FileInfo,SizeOf(FileInfo),#0);
  SHGetFileInfo(PChar(FileName),0,FileInfo,SizeOf(FileInfo),SHGFI_ICON or SHGFI_LARGEICON);
  AIcon:=TIcon.Create;
  Try
    AIcon.Handle:=FileInfo.HIcon;
    AIcon.Transparent:=True;
  Except end;
  Result:=AIcon;
end;

procedure TForm1.WMDROPFILES (var Msg: TMessage);
var i, anzahl, size: integer;
    Dateiname: PChar;
    antwort: Integer;
    s : string;
  Icon: TIcon;
begin
  inherited;
  Dateiname := '';
  anzahl := DragQueryFile(Msg.WParam, $FFFFFFFF, Dateiname, 255);
  for i := 0 to (anzahl - 1) do
  begin
    size := DragQueryFile(Msg.WParam, i , nil, 0) + 1;
    Dateiname:= StrAlloc(size);
    DragQueryFile(Msg.WParam,i , Dateiname, size);
    //hier dein source - in "Dateiname" ist der name des droped objectes
      begin
    Icon := TIcon.Create;
    try
      Icon.Loadfromfile(dateiname);
      s:= ChangeFileExt(dateiname,'.BMP');
      Image1.Width := Icon.Width;
      Image1.Height := Icon.Height;
      Image1.Canvas.Draw(0,0,Icon);
      Image1.Picture.SaveToFile((ExtractFilePath(ParamStr(0))+'1.BMP'));
    finally
      Icon.Free;
    end;
  end;
Ja, noch eine Frage... Muss ich das Icon jetzt unbedingt abspeichern oder kann ich das auch als TempIcon machen??

Mfg Philipp


Wer sich interisiert sich mal das halbfertige Programm anzuschauen,
kann sich hier den Source oder die Exe herunterladen...
--Mfg mozZzI--------------
Get & Test my ToolBar (550 KB)
Thread & Comments Here
------------------------------
  Mit Zitat antworten Zitat