Also ich bin bis jetzt so weit gekommen das ich "anscheinend" Drag&Drop auf meinen BitBtn machen kann...
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...
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;
Weiter bin ich ncoh nicht gekommen...
//Edit 100 Beitrag