ich bekomme keinen MouseEvent (linke Maustaste) obwohl die Maus angeschlossen ist.
Wird im Fenster angezeigt...
Bei einem Linken Maustasten-Cklick sollte eine Nachricht aufpoppen das die besagte Taste gedrückt wurde !?
Danke für jede Hilfe
Hier mein Beispiel:
Code: Alles auswählen
EnableExplicit ; damit wird vom Compiler erst geprüft ob eine Variable vereinbart ist
Procedure main()
#RandLinks = 5
#RandOben = 5
#Fensterbreite = 300 + #RandLinks * 2 ; die maximale Fensterbreite
#Fensterhoehe = 200
Define Mausangeschlossen = InitMouse()
Define Mausnachricht$
If Mausangeschlossen = 0
Mausnachricht$ = "keine Maus angeschlossen."
Else
Mausnachricht$ = Str(Mausangeschlossen) + " Maus angeschlossen und verfügbar."
EndIf
; **** ab hier wird das Windows-Fenster mit den Anzuzeigenden Strings, Bildern, Button, Texten usw. definiert ***************************************************
Define Fensterhandle = OpenWindow(#PB_Any , 0, 0, #Fensterbreite, #Fensterhoehe, "Maustasten-Test", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered)
If Fensterhandle ; nur wenn ein Fenster erzeugt werden kann
Define Beendenhandle = ButtonGadget( #PB_Any, 10, #Fensterhoehe - 25, 100, 20, "Beenden") ; der Button Beenden
Define Texthandle = TextGadget(#PB_Any, 10, 25, 270, 50, Mausnachricht$ + Chr(10) + Chr(13) + Chr(10) + Chr(13) + "drücke linke Maustaste") ; die Textnachricht
; ********** Ende der Windows-Fensterdefinition ***************************************************************************************************************
Repeat ; **** Die Hauptprogrammschleife ****
Define Event = WaitWindowEvent(50)
Define mausstatus = ExamineMouse()
If mausstatus
Define Ergebnis = MessageRequester("Maus und so", "der Status = " + Str(mausstatus), #PB_MessageRequester_YesNo | #PB_MessageRequester_Info)
If Ergebnis = #PB_MessageRequester_No
End ; hier wird das Programm beendet, sonst braucht es den Tasktmanager
EndIf
If MouseButton(#PB_MouseButton_Left)
Define Ergebnis = MessageRequester("Maus und so", "linke Maustaste gedrückt...", #PB_MessageRequester_YesNo | #PB_MessageRequester_Info)
If Ergebnis = #PB_MessageRequester_No
End ; hier wird das Programm beendet, sonst braucht es den Tasktmanager
EndIf
EndIf
EndIf
If Event = #PB_Event_CloseWindow ; die Schliessbox im Fenster rechts oben abfragen
Break ; das ganze Programm beenden
EndIf
Select EventGadget() ; bezieht sich auf ButtonGadget()
Case Beendenhandle ; ButtonGadget(..., ... "Beenden")
Break ; Prozedur beenden und damit auch das Programm
;case Ende
EndSelect
ForEver ; **** Die Hauptprogrammschleife ****
EndIf ; keine Fenster dann Programm Ende
EndProcedure
main()