Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#1

Mp3-Datei aus meiner Listbox in MP3Player ziehen (Drag&D

  Alt 23. Nov 2008, 20:23
Hallo zusammen,

ich habe nun einiges gesucht, bekomme es aber nicht hin und würde nun euch um etwas Hilfe bitten.
Ich möchte aus einer Listbox von meiner Anwendung heraus eine Mp3-Datei mit gedrückter linker Maustaste auf einen Mp3-Player (Aimp)
ziehen und der Player soll die Datei dann sofort abspielen.

Dazu habe ich hier nachfolgendes von SirThornberry gefunden:
Delphi-Quellcode:
function DropFilesOnWnd(AWnd: HWND; AFiles: String): Boolean; overload;
var LInfo: PDragInfoA;
    LRes: Boolean;
    LHGlobal: Cardinal;
begin
  LRes := False;
  if copy(AFiles, length(AFiles), 1) <> #0 then
    AFiles := AFiles + #0;
  LHGlobal := GlobalAlloc(GMEM_SHARE or GMEM_MOVEABLE or GMEM_ZEROINIT, SizeOf(TDragInfoA) + length(AFiles) + 1);
  if LHGlobal <> 0 then
  begin
    LInfo := GlobalLock(LHGlobal);
    if LInfo <> nil then
    begin
      LInfo.uSize := SizeOf(TDragInfoA);
      Move(AFiles[1], PChar(Cardinal(LInfo) + LInfo.uSize)^, length(AFiles));
      GlobalUnlock(LHGlobal);
      LRes := PostMessage(AWnd, WM_DROPFILES, LHGlobal, 0);
    end;
    if not(LRes) then
      GlobalFree(LHGlobal);
  end;
  result := LRes;
end;

function DropFilesOnWnd(AWnd: HWnd; AFiles: TStringlist): Boolean; overload;
begin
  result := DropFilesOnWnd(AWnd, StringReplace(AFiles.Text, #13#10, #0, [rfReplaceAll]));
end;
Den Dateinamen aus der Listbox habe ich.PChar('"' + IncludeTrailingPathDelimiter(Files[PathAndFilename_Index_Marker])); Meine Frage:
Wie und wo (im OnDragDrop der Listbox?) muss ich die Funktion genau aufrufen/ übergeben?

Vorab schon mal Danke!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat