[R] Problème de drag & drop vers un ctrl dans un onglet
Posté : jeu. 03 févr. 2011 13:19
Bonjour a tous,
je rencontre un pb un peu chiant de drag and drop
Je crée un contrôle objet "shell.explorer.2" dans une form. Cet objet me permet d'embarquer une fenêtre de l'explorateur Windows à l'intérieur de ma GUI. Lorsque je fais glisser des fichiers vers cet objet, cela fonctionne parfaitement : les fichiers sont copiés.
Mais si je réalise ce même test avec le même contrôle, mais cette fois-ci, créé à l'intérieur d'un onglet (tab), le drag and drop ne fonctionne plus du tout...
Afin de vous faire voir le problème, j'ai bidouillé le petit exemple suivant qui contient 2 occurrences du même objet "shell.explorer.2", une dans un tab, et l'autre directement dans la form. Vous pouvez tester de faire un drag and drop d'un fichier vers chacun des 2 objets
J'ai réalisé mes tests sous Win XP et Win 7 en compte administrateur : aucune différence de comportement...
Je ne pense pas qu'il s'agisse d'un bug, mais j'ai l'impression qu'un truc m'échappe (faut-il utiliser un style ou un extended style spécial sur l'objet "shell.explorer" ou sur le tab ? je n'ai pas trouvé lequel en tout cas....)
Si qq peut m'aider à y voir plus clair, ca serait vraiment classe.
Merci d'avance.
Pedrit0
je rencontre un pb un peu chiant de drag and drop

Je crée un contrôle objet "shell.explorer.2" dans une form. Cet objet me permet d'embarquer une fenêtre de l'explorateur Windows à l'intérieur de ma GUI. Lorsque je fais glisser des fichiers vers cet objet, cela fonctionne parfaitement : les fichiers sont copiés.
Mais si je réalise ce même test avec le même contrôle, mais cette fois-ci, créé à l'intérieur d'un onglet (tab), le drag and drop ne fonctionne plus du tout...
Afin de vous faire voir le problème, j'ai bidouillé le petit exemple suivant qui contient 2 occurrences du même objet "shell.explorer.2", une dans un tab, et l'autre directement dans la form. Vous pouvez tester de faire un drag and drop d'un fichier vers chacun des 2 objets
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Example()
Func Example()
Local $oIE, $oIE2, $GUIActiveX1, $GUIActiveX2
Local $msg
$oIE = ObjCreate("Shell.Explorer.2")
$oIE2 = ObjCreate("Shell.Explorer.2")
GUICreate("Embedded Web control Test", 570, 470, 0, 0, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
$TabSet = GUICtrlCreateTab(10, 50, 550, 220, 0)
$TabSheet1 = GUICtrlCreateTabItem("test")
$GUIActiveX1 = GUICtrlCreateObj ($oIE, 20, 100, 525, 150)
$GUIActiveX2 = GUICtrlCreateObj ($oIE2, 20, 280, 525, 150)
GUISetState()
$oIE.navigate("c:\")
$oIE2.navigate("c:\windows")
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
EndSelect
WEnd
GUIDelete()
EndFunc
Je ne pense pas qu'il s'agisse d'un bug, mais j'ai l'impression qu'un truc m'échappe (faut-il utiliser un style ou un extended style spécial sur l'objet "shell.explorer" ou sur le tab ? je n'ai pas trouvé lequel en tout cas....)
Si qq peut m'aider à y voir plus clair, ca serait vraiment classe.
Merci d'avance.
Pedrit0