source: trunk/ab5.0/ablib/TestCase/UI_Sample/mouse_watcher.ab@ 642

Last change on this file since 642 was 642, checked in by イグトランス (egtra), 16 years ago

CheckBoxとButtonBaseクラスを追加。

File size: 2.9 KB
Line 
1#require <Classes/ActiveBasic/Windows/UI/Form.ab>
2#require <Classes/ActiveBasic/Windows/UI/ListBox.ab>
3#require <Classes/ActiveBasic/Windows/UI/Application.ab>
4#require <Classes/ActiveBasic/Windows/UI/CheckBox.ab>
5
6#resource "UI_Sample.rc"
7
8Imports ActiveBasic.Windows.UI
9
10Const IDM_CLEAR_BUTTON = 100
11Const IDM_RECOED_LIST = 101
12
13Class MyForm
14 Inherits Form
15Public
16 Sub MyForm()
17 CreateForm()
18
19 Dim wpFont = GetStockObject(DEFAULT_GUI_FONT) As WPARAM
20
21 list = New ListBox
22 With list
23 .Create(This, WS_VSCROLL, WS_EX_CLIENTEDGE, IDM_RECOED_LIST)
24 .SendMessage(WM_SETFONT, wpFont, 0)
25 End With
26
27 AddResize(AddressOf(OnResize))
28 AddMouseClick(AddressOf(OnMouseClick))
29 AddMouseDoubleClick(AddressOf(OnMouseDoubleClick))
30 AddMouseMove(AddressOf(OnMouseMove))
31 AddMouseDown(AddressOf(OnMouseDown))
32 AddMouseUp(AddressOf(OnMouseUp))
33 AddMouseEnter(AddressOf(OnMouseEnter))
34 AddMouseLeave(AddressOf(OnMouseLeave))
35 AddMouseHover(AddressOf(OnMouseHover))
36
37 buttonClear = New Button
38 With buttonClear
39 .Create(This, 0, 0, IDM_CLEAR_BUTTON)
40 .Move(320, 20, 60, 30)
41 .Text = "Clear"
42 .AddClick(AddressOf(OnClearClick))
43 .SendMessage(WM_SETFONT, wpFont, 0)
44 End With
45
46 checkBoxShowMoveEvent = New CheckBox
47 With checkBoxShowMoveEvent
48 .Create(This, 0, 0, 0)
49 .Move(320, 60, 200, 20)
50 .Text = "Moveイベントを表示する"
51 .SendMessage(WM_SETFONT, wpFont, 0)
52 End With
53
54 Show(SW_SHOWDEFAULT)
55 End Sub
56
57Private
58 Sub OnClearClick(sender As Object, e As Args)
59 LockWindowUpdate(list)
60 list.Items.Clear()
61 LockWindowUpdate(0)
62 checkBoxShowMoveEvent.AutoCheck = False
63 End Sub
64
65 Sub OnResize(sender As Object, e As ResizeArgs)
66 list.Move(0, 0, 300, e.Y)
67 End Sub
68
69 Sub OnMouseClick(sender As Object, e As MouseArgs)
70 OnMouseEvent("Click", e)
71 End Sub
72
73 Sub OnMouseDoubleClick(sender As Object, e As MouseArgs)
74 OnMouseEvent("DoubleClick", e)
75 End Sub
76
77 Sub OnMouseMove(sender As Object, e As MouseArgs)
78 If checkBoxShowMoveEvent.Checked Then
79 OnMouseEvent("Move", e)
80 End If
81 End Sub
82
83 Sub OnMouseDown(sender As Object, e As MouseArgs)
84 OnMouseEvent("Down", e)
85 End Sub
86
87 Sub OnMouseUp(sender As Object, e As MouseArgs)
88 OnMouseEvent("Up", e)
89 End Sub
90
91 Sub OnMouseEnter(sender As Object, e As Args)
92 OnMouseEvent("Enter", New MouseArgs(MouseButtons.None, 0, 0, 0, 0))
93 End Sub
94
95 Sub OnMouseLeave(sender As Object, e As Args)
96 OnMouseEvent("Leave", New MouseArgs(MouseButtons.None, 0, 0, 0, 0))
97 End Sub
98
99 Sub OnMouseHover(sender As Object, e As MouseArgs)
100 OnMouseEvent("Hover", e)
101 End Sub
102
103 Sub OnMouseEvent(kind As String, e As MouseArgs)
104 Dim items = list.Items
105 Dim s = kind + ": X = " + Str$(e.X) + " Y = " + Str$(e.Y)
106 items.Add(s)
107 list.SetSelected(items.Count - 1, True)
108 End Sub
109
110 list As ListBox
111 buttonClear As Button
112 checkBoxShowMoveEvent As CheckBox
113End Class
114
115Control.Initialize(GetModuleHandle(0))
116
117Dim f = New MyForm
118Application.Run(f)
Note: See TracBrowser for help on using the repository browser.