ExamineMouse() : Problème, ou ça vient de moi ???
Publié : dim. 25/avr./2004 12:15
J'ai une fenêtre, avec une partie qui contient un WindowedScreen(), et l'autre qui contient des boutons.
J'ai besoin d'utiliser la fonction ExamineMouse() pour utiliser la partie écran.
Le problème, c'est que ExamineMouse() empèche l'affichage des boutons dans la fenêtre, et que je suis obligé de relacher la souris pour qu'ils apparaissent.
Y a quelque chose qui m'échappe, là !!
Voilà un bout de code:
Chris 
J'ai besoin d'utiliser la fonction ExamineMouse() pour utiliser la partie écran.
Le problème, c'est que ExamineMouse() empèche l'affichage des boutons dans la fenêtre, et que je suis obligé de relacher la souris pour qu'ils apparaissent.
Y a quelque chose qui m'échappe, là !!

Voilà un bout de code:
Code : Tout sélectionner
#Window = 0
#Width = 400
#Height = 300
;- Initialisation de DirectX
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
MessageRequester("Erreur", "Impossible d'initialiser DirectX", 0)
CloseWindow(#Window) : End
EndIf
;- Ouverture de la fenêtre et de l'écran
hwnd = OpenWindow(#Window, 0, 0, #Width, #Height, #PB_Window_TitleBar | #PB_Window_ScreenCentered, "ESC pour quitter, SPACE pour libérer la souris")
If CreateGadgetList(hwnd)
ButtonGadget(10,150,270,100,20,"Bouton")
EndIf
OpenWindowedScreen(hwnd, 0, 0, 400, 260, 0, 0, 0)
;- Début de la boucle
Repeat
ClearScreen(0, 0, 0) : ExamineKeyboard()
ExamineMouse() ; Si je décommente ExamineMouse(), le bouton n'apparaît plus
; Je dois faire un ReleaseMouse(1) pour qu'il s'affiche
If KeyboardPushed(#PB_Key_Space) : ReleaseMouse(1) : EndIf
If KeyboardReleased(#PB_Key_Space) : ReleaseMouse(0) : EndIf
Select WindowEvent() : EndSelect
FlipBuffers()
If KeyboardPushed(#PB_Key_Escape) : quit = 1 : EndIf
Until quit = 1
