Seite 1 von 1
[WIN] Drag'n'Drop vom Explorer in mein TreeGadget....
Verfasst: 10.04.2006 20:23
von neotoma
Hallo,
für mein aktuelles Projekt brauche ich die Möglichkeit eine (oder mehrere) Datei(en) mittels Drag'n'Drop von außerhalb (z.B. vom Explorer) in das TreeGadget meines Programms uu ziehen. Dabei stellt sich das Problem, das ich erst beim Drop eine Nachricht bekomme. Dann kann ich die Dateien auch richtig einsortieren, aber es fehlt das Highlighting im TreeGadget und das öffnen der Nodes.
Leider weiß ich nicht, welche Nachricht das TreeGadget bekommt, wenn sich die Maus innerhalb einer Drag-Aktion über dem Gadget befindet. (#WM_MOUSEMOVE jedenfalls nicht..

)
Mike
Verfasst: 10.04.2006 20:33
von AND51
#WM_DROPFILES ?
Verfasst: 11.04.2006 08:49
von neotoma
AND51 hat geschrieben:#WM_DROPFILES ?
Leider nicht....
Hat das schon mal jemand probiert ? Immerhin ändert sich der Mauscursor wenn er über dem TreeGadget ist (ist ja auch eine Dropping-Area). Aber wie bekommt das Fenster Nachricht davon ? Oder muss ich das Event 'pollen' d.h. all 10 millisekunden die Mausbewegung überprüfen ?
Ein schon etwas verzweifelter......
Mike
Verfasst: 11.04.2006 19:25
von AND51
Es gibt da eine Lib von Droopy, die genau das macht, was du willst. Ich habe den Tipp deshalb niht früher gepostet, weil ich erst einmal abwarten wollte.
Diese Lib initalisiert ein oder mehrere Gadgets und wenn das Event #WM_DROPFILES auftritt, das musst du selber prüfen, dann kannst du eine bestimmte Funktion aus der Lib solange aufrufen und bekjommst dabei jedesmal eine der gedroppten dateien zurück, bis du einen leerstriing erhälst.
Wenn ich wieder zu haus bin, kann ich dir auf wunsch meh daüber erzählen.
Sry, für die Schreibfehler, aber diee Tastatu7r hier ist so scheiße!!

Verfasst: 11.04.2006 21:38
von neotoma
AND51 hat geschrieben:
Diese Lib initalisiert ein oder mehrere Gadgets und wenn das Event #WM_DROPFILES auftritt, das musst du selber prüfen, dann kannst du eine bestimmte Funktion aus der Lib solange aufrufen und bekjommst dabei jedesmal eine der gedroppten dateien zurück, bis du einen leerstriing erhälst.
Ja, das #WM_DROPFILES bekomme ich aber leider erst, wenn der User die Maustatse losgelassen hat. Das klappt eigentlich auch prima. Nur wenn der User noch die Maustaste gedrückt hält, und sich mit der Maus über meinem TreeView befindet bekomme ich keine Nachricht (innerhalb der Drag-Aktion ! Er hat also eine Datei am Cursor hängen !).
Aber der Mauscursor ändert sich ja, wenn er sich über dem TreeGadget befindet. Nur wie bekommt mein Window/Gadget davon nachricht ?
Gruß,
Mike
Verfasst: 11.04.2006 22:08
von AND51
Nee, du bekommst immer erst eine Nachricht, wenn der User die Taste loslässt, das ist normal. Da sist beim IE auch so, wenn ich eine HTML Datei hineinziehe, dann öffnet er sie erst, enn ich die Maus loslasse.
Selbst wenn du heruasfindest, das sich der Mauscusor verändert, also eine Datei daan hängt, dann weißt du ja immer noch nicht, welche Dateien es sind. Und vielleicht möchte der User die Aktion ja auch storinieren und die Daeien doch nicht dahinziehen.
Mein Rat: Mach's so, wie in der Lib von Droopy "Droopy's Lib". Ist am einfachsten und "normalsten".
