-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGadgetEventExDemo.sb
More file actions
61 lines (38 loc) · 1.58 KB
/
GadgetEventExDemo.sb
File metadata and controls
61 lines (38 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
XIncludeFile "GadgetEventEx.sbi"
EnableExplicit
Enumeration
#Window
#StringGadget
#TextGadget
#ButtonGadget
EndEnumeration
Procedure HandleGadgetEventEx(e)
Select EventGadget()
Case #StringGadget
Debug "Event from #StringGadget"
Case #TextGadget
Debug "Event from #TextGadget"
Case #ButtonGadget
Debug "Event from #ButtonGadget"
Default
Debug "Event from ???"
EndSelect
Debug "EventGadget(): " + EventGadget()
Debug "EventTypeEx(): " + GadgetEventEx::EventTypeEx()
Debug "-----"
EndProcedure
OpenWindow(#Window, 0, 0, 300, 300, "GadgetEventExDemo", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
; -------------------
StringGadget(#StringGadget, 10, 10, 100, 20, "StringGadget")
; bind all possible events for a StringGadget:
GadgetEventEx::Bind(#StringGadget, @HandleGadgetEventEx())
; -------------------
TextGadget(#TextGadget, 10, 50, 100, 20, "TextGadget")
; bind all possible events for a TextGadget (you can also use #PB_EventTypeEx_All):
GadgetEventEx::Bind(#TextGadget, @HandleGadgetEventEx(), GadgetEventEx::#PB_EventTypeEx_All)
; unbind MouseMove- and PointerMove-Events:
GadgetEventEx::Unbind(#TextGadget, @HandleGadgetEventEx(), GadgetEventEx::#PB_EventTypeEx_Mousemove + "|" + GadgetEventEx::#PB_EventTypeEx_Pointermove)
; -------------------
ButtonGadget(#ButtonGadget, 10, 80, 100, 25, "ButtonGadget")
; bind left- and right-click events for the ButtonGadget:
GadgetEventEx::Bind(#ButtonGadget, @HandleGadgetEventEx(), GadgetEventEx::#PB_EventTypeEx_Click + "|" + GadgetEventEx::#PB_EventTypeEx_Contextmenu)