Problèmes évènements

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Shadow
Messages : 1429
Inscription : mer. 04/nov./2015 17:39

Problèmes évènements

Message par Shadow »

Bonjour,

Je rencontre un soucis avec mon programme (Rad-Maker).
Comment je dois procéder pour géré non seulement les évènements de mon Canvas (Automatiquement) mais aussi celui de l'utilisateur ?

Par exemple, si l'utilisateur fait un "Bouton souris gauche enfoncé sur le Canvas", là, je dois intercepté cet évènement pour dessiner la sélection
mais je ne dois pas bloquer les évènement pour que l'utilisateur puisse aussi les avoir !

Je dois géré les évènements du Canvas mais aussi les "Renvoyer" à l'utilisateur pour par exemple
savoir si il à cliquer sur le Canvas pour faire ses trucs à lui par la suite.

Je rencontre un soucis parce que mes évènement sont géré mais pas renvoyé, je sais pas si je suis clair.
Comment je dois géré ça svp ? :)
AMD Ryzen 5 3600 (6 cœurs / 12 threads, Socket AM4)
Gainward GeForce RTX 3070 (8 GB GDDR6)
ASUS PRIME A320M-K (chipset AMD A320)
64 GB DDR4-3200
Asus 24 Pouces: 1920 x 1080.
Système: Windows 10 64 Bits.

PureBasic: 6.30 beta 4 x64 Bits.
Bernie
Messages : 282
Inscription : mar. 22/mars/2016 10:12
Localisation : En France

Re: Problèmes évènements

Message par Bernie »

peux etre un passant par un Flag :

Code : Tout sélectionner

Global évènements de mon Canvas.b = #TRue 
 Global évènements pour l'utilisateur.b = #True 
ou par une structure GestionCanvas
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Problèmes évènements

Message par microdevweb »

Je t'envoie à la doc et EventType() pour la liste de tous les événements gérable (pratiquement tout est gérable avec un canvas)...

Bernie arrêtes de ra-compter des bêtises.

Exemple:

Code : Tout sélectionner

#MainForm=0
#MainCanvas=0
Procedure Exit()
    End
EndProcedure
Procedure EventCanvas()
    Select EventType()
            Case #PB_EventType_MouseEnter
                Debug "Entre sur le canvas"
            Case #PB_EventType_MouseLeave
                Debug "Sort du canvas"
            Case #PB_EventType_LeftClick
                Debug "Clique bt gauche"
            Case #PB_EventType_RightClick
                Debug "Clique bt droit"
            Case #PB_EventType_LeftDoubleClick
                Debug "double clique bt gauche"
            ; etc ....
    EndSelect
EndProcedure
Procedure Open()
    OpenWindow(#MainForm,0,0,800,600,"Teste",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
    CanvasGadget(#MainCanvas,0,0,800,600)
    ; Mise en place des callback
    BindEvent(#PB_Event_CloseWindow,@Exit(),#MainForm)
    BindGadgetEvent(#MainCanvas,@EventCanvas())
EndProcedure
Open()
Repeat:WaitWindowEvent():ForEver
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Problèmes évènements

Message par microdevweb »

Voila un petit tuto qu'i pourra t'aider.

http://www.purebasic.fr/french/viewtopi ... 42#p182942
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
Shadow
Messages : 1429
Inscription : mer. 04/nov./2015 17:39

Re: Problèmes évènements

Message par Shadow »

Merci beaucoup Micro :)
AMD Ryzen 5 3600 (6 cœurs / 12 threads, Socket AM4)
Gainward GeForce RTX 3070 (8 GB GDDR6)
ASUS PRIME A320M-K (chipset AMD A320)
64 GB DDR4-3200
Asus 24 Pouces: 1920 x 1080.
Système: Windows 10 64 Bits.

PureBasic: 6.30 beta 4 x64 Bits.
Répondre