Hallo,
Ich hätte mal eine Frage :
Wie bringt man ein MultiEdit - Control dazu, für Drop - Aktionen empfänglich
zu sein ?
Das %HWnd macht es ja automatisch, bloß möchte ich eine Textdatei direkt ins
MultiEdit dropen. Also nicht im %HWnd fallen lassen.
Muß ich da eine Notify-Nachricht abfangen oder benötigt das MultiEdit einen
bestimmten Stil (mit SetStyle) ?
Code
'Drag und Drop mit dem Explorer
$H messages.ph
Def DragAcceptFiles(2) !"SHELL32","DragAcceptFiles"
Def DragFinish(1) !"SHELL32","DragFinish"
Def DragQueryFile(4) !"SHELL32","DragQueryFileA"
Declare Handle ME, ende%,i%,Anzahl&,PFilename#,FileName$
Dim PFileName#,461
Window 600, 600
WindowTitle "Drag&Drop-Beispiel"
ME = Create("MultiEdit", %HWnd, "Hier mit dem Windows-Explorer eine Textdatei droppen.", 10, 100, Width(%HWnd) - 40, Height(%HWnd) - 120)
DragAcceptFiles(%HWnd, 1)
UserMessages ~WM_DROPFILES '563
WhileNot ende%
WaitInput
IF %UMessage = ~WM_DROPFILES
anzahl& = DragQueryFile(&WParam, $FFFFFFFF, PFilename#, 461)
i% = 0
While i% < anzahl&
DragQueryFile(&WParam, i%, PFilename#, 261)
filename$ = String$(PFilename#, 0)' Vorsicht, max 255 Zeichen
SetText ME, ""
CLearList
Move("FileToList", filename$)
Move("ListToHandle", ME)
Inc i%
EndWhile
DragFinish(&WParam)
Elseif %mousekey = 2
ende%=1
EndIf
Wend
Dispose PFileName#
DragAcceptFiles(%HWnd, 0)
End
Alles anzeigen