![]() |
Drag&Drop Frage
Hai,
möchte gerade eine Schnellstartleiste programmieren, so ähnlich wie SittingDuck es gemacht hat... Mein Problem ist bei der Drag&Drop Sache... Ich weiß nicht wie ich z.B. eine Verknüpfung von Winamp in einen SpeedButton/BitBtn via Drag&Drop importieren kann, und das sich dann das Icon des Buttons als Glyph angezeigt wird... Und wenn man dann Draufklickt das dann das Prog gestartet wird... Ich weiß gar net wo ich anfangen soll... |
Re: Drag&Drop Frage
auf einen SpeedButton kannst du schonmal nix ziehen, BitBtn dürfte gehen. Wichtig dabei ist das dein Ziel (in deinem Programm) ein Handle hat. Wenn dem der Fall ist kannst du mit "DragAcceptFiles" festlegen das auf dieses Control/Fenster eine Datei abgelegt werden kann. Darauf kannst du dann wieder mit "WM_DROPFILES" reagieren.
|
Re: Drag&Drop Frage
Zitat:
:wiejetzt: Also, das ist mir zu noch zu hoch... Sry, aber wie wende ich sowas an?? |
Re: Drag&Drop Frage
Hi
Zitat:
Mit ![]() ![]() |
Re: Drag&Drop Frage
Also mit dem Code wo du mir gegeben hast, komme ich nicht zurecht, wo muss ich diesen Code einbauen??
Alle weiteren sollten keine Probleme machen, bei mir schon :oops: |
Re: Drag&Drop Frage
Zitat:
Delphi-Quellcode:
private
procedure WMDROPFILES (var Msg: TMessage); message WM_DROPFILES; ... implementation ... procedure TForm1.WMDROPFILES (var Msg: TMessage); ... Nachtrag: Als Anfangsprojekt ist das eigentlich auch nciht so sehr geeignet. |
Re: Drag&Drop Frage
Zitat:
|
Re: Drag&Drop Frage
Er bringt eine Fehlermeldung...
DragQueryFile: Undefinierter Bezeichner DragFinish: Undefinierter Bezeichner |
Re: Drag&Drop Frage
Bei solchen Fehlermeldungen hilt meist ein Blick in die Hilfe... Du musst du Unit ShellApi einbinden
|
Re: Drag&Drop Frage
So jetzt Compiliert er und alles, aber wie nehme ich jetzt z.B. Desktopicons via Drag&Drop in einen Bitbtn auf?
|
Re: Drag&Drop Frage
Zitat:
Zitat:
Zitat:
![]() |
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? |
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:
Weiter bin ich ncoh nicht gekommen...
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; //Edit 100 Beitrag :shock: |
Re: Drag&Drop Frage
kennt sich da vill noch jemand aus?
|
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:51 Uhr. |
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