Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Drag&Drop Frage (https://www.delphipraxis.net/62457-drag-drop-frage.html)

Daniel G 5. Feb 2006 00:56

Re: Drag&Drop Frage
 
Zitat:

Zitat von mOzZzI
So jetzt Compiliert er und alles, aber wie nehme ich jetzt z.B. Desktopicons via Drag&Drop in einen Bitbtn auf?

Eigeninitiative ist das Stichwort


Zitat:

Zitat von Matze
Das Icon kannst du anhand des Dateinamens aus der Datei auslesen (Einfach die Suche benutzen)

Wenn du das machst, findest du zum Bleistift:

Zitat:

Zitat von Martin K
Für alle, die das Icon aus einer beliebigen Datei haben möchten,
hier der endgültige Quellcode:


Delphi-Quellcode:
uses ... ShellApi;

...

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;
Vielen Dank nochmal an ichbins

aus diesem Thread

mOzZzI 5. Feb 2006 01:04

Re: Drag&Drop Frage
 
tut mir leid aber ich komm da wirklich nciht weiter... :gruebel:
Ich meine das mit Drag&Drop...
Soll ich das bei einen Button Ereignis "DragOver" machen?

mOzZzI 5. Feb 2006 11:18

Re: Drag&Drop Frage
 
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 :shock:

mOzZzI 5. Feb 2006 17:39

Re: Drag&Drop Frage
 
kennt sich da vill noch jemand aus?

SirThornberry 5. Feb 2006 17:55

Re: Drag&Drop Frage
 
erstelle doch einen neuen Thread für dieses Problem mit dem Icon. Erstens hat das nix mit Drag & Drop zu tun, zweitens findet niemand den Beitrag zum Icon wenn er die suche nutzt weil der Betreff Drag & Drop ist und drittens liest niemand dein Problem mit dem Icon weil nur die Leute den Thread anschauen die Ahnung von Drag & Drop haben. Aber diese Leute sind nicht zwangsläufig auch diejenigen die sich mit dem Iconzeugs auskennen. Und viertens ist es eine Regel in diesem Forum das pro Frage ein eigene Thread aufgemacht wird.
Zuguter Letzt hast du auch noch innerhalb von 24 Stunden gepucht (deinen Beitrag nach oben gebracht) was ebenfalls nicht gern gesehen wird weil eben jeder etwas wichtiges hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz