Problèmes évènements

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Shadow
Messages : 1413
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 ? :)
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 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
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Problèmes évènements

Message par Shadow »

Merci beaucoup Micro :)
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Répondre