auch wenn ich die Details nicht verstehe.
Daher habe ich das mal reduziert zur Demonstration fur den RightMouseButtonClick allein :
Code: Alles auswählen
;--------------------------------------------------------------
EnableExplicit
#kEventClassControl = 'cntl'
#kEventClassWindow = 'wind'
;#kEventControlContextualMenuClick = 12
#kEventWindowContextualMenuSelect = 78; 78
Structure EventTypeSpec
EventClass.L
EventKind.L
EndStructure
Define EventHandlerUPP.L
Define RightMouseButtonClick.I
Define WindowEvent.I
Procedure EventHandler(*NextEventHandler, Event.L, Ref.L)
Shared RightMouseButtonClick.I : If Ref = WindowID(0) : RightMouseButtonClick = #True : EndIf
If *NextEventHandler : CallNextEventHandler_(*NextEventHandler,Event) : EndIf
EndProcedure
Dim EventTypes.EventTypeSpec(1)
OpenWindow(0, 200, 200, 300, 200, "MouseButtonClick-Example")
; ----- Install EventHandler for Window to detect right clicks
EventHandlerUPP = NewEventHandlerUPP_(@EventHandler())
EventTypes(0)\EventClass = #kEventClassWindow
EventTypes(0)\EventKind = #kEventWindowContextualMenuSelect
InstallEventHandler_(GetWindowEventTarget_(WindowID(0)), EventHandlerUPP, 1, @EventTypes(), WindowID(0), 0)
Repeat
Select WaitWindowEvent(20)
Case #PB_Event_CloseWindow : Break
EndSelect
If RightMouseButtonClick : MessageRequester("","RightClicked"):RightMouseButtonClick = #False:EndIf
ForEver
End
;----------------------------------------------------------------------
Wie müßte das obige (reduzierte) Beispiel
fur den LeftMouseButtonClick verändert werden.?
GRUSS von hilpert
__________________________________________________
Code-Tags hinzugefügt
30.05.2011
RSBasic