Les liens sont morts dans le fichier d'aide, pas possible de voir les explications PB 3.92 et les Updates
Sinon pour AdvancedGadgetEvents(), il serait bien de mettre un exemple complet pour que cette commande soit bien comprise.
Merci
Doc de EventlParam() et EventwParam()
EventwParam() et EventlParam() récupèrent les valeurs des paramètres lParam et wParam sans passer par une Callback.
AdvancedGadgetEvents() permet d'activer ou non la gestion avancée des évènements pour les gadgets, type Left fdouble click ou autres (?) mais la doc est assez succinte et la Doc En dit qu'il faut se référer aux différents gadgets pour les événements (?).
Par exemple avec un Drag 'nd drop de fichiers sur une fenêtre, on récupère le fait que l'on vient de glisser des fichiers sur la fenêtre avec le message #WM_DROPFILES
wParam à ce moment contient le handle de la Structure qui contient les fichiers glissés et ce Handle pourra être utiliser par l'API DragQueryFile() pour récupérer les infos des fichiers
Dans la boucle, on récupère wParam avec EventwParam()
Voici un exemple simple, faut l'exécuter et ouvrir l'exploreur window, sélectionner quelques fichiers et les glisser sur la fenêtre.
AdvancedGadgetEvents() permet d'activer ou non la gestion avancée des évènements pour les gadgets, type Left fdouble click ou autres (?) mais la doc est assez succinte et la Doc En dit qu'il faut se référer aux différents gadgets pour les événements (?).
Par exemple avec un Drag 'nd drop de fichiers sur une fenêtre, on récupère le fait que l'on vient de glisser des fichiers sur la fenêtre avec le message #WM_DROPFILES
wParam à ce moment contient le handle de la Structure qui contient les fichiers glissés et ce Handle pourra être utiliser par l'API DragQueryFile() pour récupérer les infos des fichiers
Dans la boucle, on récupère wParam avec EventwParam()
Voici un exemple simple, faut l'exécuter et ouvrir l'exploreur window, sélectionner quelques fichiers et les glisser sur la fenêtre.
Code : Tout sélectionner
If OpenWindow(0, 0, 0, 300, 185, #PB_Window_SystemMenu |#PB_Window_ScreenCentered, "wParam")
; force la fenêtre à rester au premier plan
SetWindowPos_(WindowID(), #HWND_TOPMOST, 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE)
; autorise la fenêtre à accepter les fichier Drag 'nd drop
DragAcceptFiles_(WindowID(), #True)
Repeat
Select WaitWindowEvent()
Case #WM_DROPFILES
; *********************************
DropHandle.l = EventwParam()
; *********************************
; lors du premier appel de DragQueryFile, on récupère le nombre de fichiers glissés
NombreFichiers.l = DragQueryFile_(DropHandle, -1, "", 0)
For index = 0 To NombreFichiers - 1
; cet appel de DragQueryFile retourne la taille nécessaire du buffer
TailleBuffer.l = DragQueryFile_(DropHandle, index, 0, 0)
Fichier.s = Space(TailleBuffer)
TailleBuffer + 1
DragQueryFile_(DropHandle, index, Fichier, TailleBuffer)
Chaine.s = Chaine+ Fichier+Chr(10)
Next
DragFinish_(DropHandle) ; c'est terminé, on libère les ressources
; allouées par le système
; la fenêtre ne restera pas au premier plan pour afficher la messagerequester
SetWindowPos_(WindowID(), #HWND_NOTOPMOST, 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE)
; on affiche tous les fichiers
MessageRequester("Fichiers", Chaine, #MB_ICONASTERISK|#PB_MessageRequester_Ok )
Case #PB_EventCloseWindow
quit + 1
EndSelect
Until quit
EndIf
J'ai fait une recherche sur le forum En mais tout ça semble mal doumenté.
Ce que j'ai cru comprendre c'est que l'on a accès aux événements
#PB_EventType_RightClick
#PB_EventType_LeftDoubleClick
#PB_EventType_RightDoubleClick
en mettant AdvancedGadgetEvents(1) avant la création du gadget pour avoir accès à ces événements.
Ce que je me demande c'est quels gadgets sont concernés, faut-il le mettre pour chaque gadget etc
Ce que j'ai cru comprendre c'est que l'on a accès aux événements
#PB_EventType_RightClick
#PB_EventType_LeftDoubleClick
#PB_EventType_RightDoubleClick
en mettant AdvancedGadgetEvents(1) avant la création du gadget pour avoir accès à ces événements.
Ce que je me demande c'est quels gadgets sont concernés, faut-il le mettre pour chaque gadget etc
