Hi alle zusammen!
War schon länger nicht mehr aktiv im Forum, hab jetzt aber doch nochmal was loszuwerden.
Irgendwie verweigern bei mir WebGadget und EditorGadget das Droppen von Dateien. Die anderen Gadgets habe ich noch nicht alle diesbezüglich getestet, aber bei den meisten gehts problemlos (ich verwende die neuen Funktionen der Version 4.10 BETA 2).
Ich bräuchte aber dringend das Droppen auf eines dieser beiden Gadgets, da ich momentan einen Messenger schreibe und die gleiche Funktionalität beim Senden von Dateien bieten möchte wie icq sie bietet, also ein Senden durch das Ziehen der Datei aufs Message-Fenster des jeweiligen Chat-Partners.
Tritt das Problem bei euch auch auf bzw. ist es ein Bug der Funktion oder irgendwie begründet fehlend oder liegts generell am aktuellen Status der 4.10er Version (->BETA)?
EnableGadgetDrop() und Web- bzw. EditorGadget
- Olaf
- Beiträge: 117
- Registriert: 20.04.2006 14:51
- Wohnort: 66606 St.Wendel (Niederlinxweiler, Dr.Albert-Schweitzer-Str.9)
- Kontaktdaten:
EnableGadgetDrop() und Web- bzw. EditorGadget
PB 4.xx (Windows & Linux & Mac OS X)
Treffen sich 2 Kurven in der Unendlichkeit. Sagt die eine zur anderen: "Hau ab aus meinem Definitionsbereich oder ich leite dich ab!"
Darauf die andere: "Mach nur! Ich bin die e-Funktion."
Treffen sich 2 Kurven in der Unendlichkeit. Sagt die eine zur anderen: "Hau ab aus meinem Definitionsbereich oder ich leite dich ab!"
Darauf die andere: "Mach nur! Ich bin die e-Funktion."
Re: EnableGadgetDrop() und EditorGadget
[Push]
ich benötige die Drop-Funktionalität auf ein EditorGadget für ein aktuelles
Projekt. Wieso lassen sich keine Dateien auf das EditorGadget droppen?
EnableWindowDrop() funktioniert hingegen.
(getestet mit PB4.10 Beta 4)
Danke & Grüße ... Kiffi
ich benötige die Drop-Funktionalität auf ein EditorGadget für ein aktuelles
Projekt. Wieso lassen sich keine Dateien auf das EditorGadget droppen?
EnableWindowDrop() funktioniert hingegen.
Code: Alles auswählen
If OpenWindow(0, 0, 0, 322, 150, "EditorGadget")
If CreateGadgetList(WindowID(0))
EditorGadget(0, 8, 8, 306, 133)
EnableGadgetDrop(0, #PB_Drop_Files, #PB_Drag_Copy)
EnableWindowDrop(0, #PB_Drop_Files, #PB_Drag_Copy)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
EndIf
Danke & Grüße ... Kiffi
Hygge
Schon erstaunlich das dies hier der einzige Thread zu dem Thema ist...
Warum es nicht geht weiss ich auch nicht, aber ich kann euch ein kleinen
Workaround bzw den Api Weg geben :
Warum es nicht geht weiss ich auch nicht, aber ich kann euch ein kleinen
Workaround bzw den Api Weg geben :
Code: Alles auswählen
Procedure edit_cb(hwnd,umsg,wparam,lparam)
old = GetWindowLong_(hwnd,#GWL_USERDATA)
If umsg = #WM_DROPFILES
count = DragQueryFile_(wparam,-1,0,0)
For i = 0 To count - 1
DragQueryFile_(wparam,i,@buffer.s{#MAX_PATH},#MAX_PATH)
AddGadgetItem(0,i,buffer)
Next
DragFinish_(wparam)
ProcedureReturn 0
EndIf
ProcedureReturn CallFunctionFast(old,hwnd,umsg,wparam,lparam)
EndProcedure
Procedure SetGadgetCallback(callback,id)
old = SetWindowLong_(GadgetID(id),#GWL_WNDPROC,callback)
SetWindowLong_(GadgetID(id),#GWL_USERDATA,old)
ProcedureReturn old
EndProcedure
If OpenWindow(0, #PB_Ignore, #PB_Ignore, 322, 150, "EditorGadget")
If CreateGadgetList(WindowID(0))
EditorGadget(0, 8, 8, 306, 133)
DragAcceptFiles_(GadgetID(0),#True)
SetGadgetCallback(@edit_cb(),0)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
EndIf