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

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

ListBox.Itemsを実装。サンプルも修正。

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