source: trunk/ab5.0/ablib/src/Classes/ActiveBasic/Windows/UI/EventArgs.ab@ 551

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

Buttonの追加。WM_COMMANDから子のClickイベントを発生させる仕組みの追加など。

File size: 9.5 KB
RevLine 
[473]1/**
[551]2@file Include/Classes/ActiveBasic/Windows/UI/Args.ab
[473]3@brief イベントハンドラ関連
4*/
5
6Namespace ActiveBasic
7Namespace Windows
8Namespace UI
9
[551]10TypeDef Args = System.EventArgs
11'TypeDef Handler = System.EventHandler
12Delegate Sub Handler(sender As Object, e As Args)
[473]13
[551]14Class MessageArgs
15 Inherits Args
[542]16Public
[551]17 Sub MessageArgs(hwndSrc As HWND, message As DWord, wParam As WPARAM, lParam As LPARAM)
[542]18 msg = message
19' hwnd = hwndSrc
20 wp = wParam
21 lp = lParam
22 lr = 0
23 End Sub
24
25 Function Msg() As DWord
26 Msg = msg
27 End Function
28
29' Function HWnd() As HWND
30' HWnd = hwnd
31' End Function
32
33 Function WParam() As WPARAM
34 WParam = wp
35 End Function
36
37 Function LParam() As LPARAM
38 LParam = lp
39 End Function
40
41 Function LResult() As LRESULT
42 LResult = lr
43 End Function
44
45 Sub LResult(lResult As LRESULT)
46 lr = lResult
47 End Sub
48Private
49 msg As DWord
50' hwnd As HWND
51 wp As WPARAM
52 lp As LPARAM
53 lr As LRESULT
54End Class
55
[551]56Delegate Sub MessageHandler(sender As Object, e As MessageArgs)
[542]57
[551]58Class PaintDCArgs
59 Inherits Args
[473]60Public
[551]61 Sub PaintDCArgs(hdcTarget As HDC, ByRef rect As RECT)
[473]62 hdc = hdcTarget
63 rc = rect
64 End Sub
65
66 Function Handle() As HDC
67 Handle = hdc
68 End Function
69
70 Function ClipRect() As RECT
71 ClipRect = rc
72 End Function
73
74Private
75 hdc As HDC
76 rc As RECT
77End Class
78
[551]79Delegate Sub PaintDCHandler(sender As Object, e As PaintDCArgs)
[473]80
[551]81Class PaintDCHandledArgs
82 Inherits PaintDCArgs
[473]83Public
[551]84 Sub PaintDCHandledArgs(hdcTarget As HDC, ByRef rect As RECT)
85 PaintDCArgs(hdcTarget, rect)
[473]86 End Sub
87
88 Function Handled() As Boolean
89 Handled = h
90 End Function
91
92 Sub Handled(handled As Boolean)
93 h = handled
94 End Sub
95
96Private
97 h As Boolean
98End Class
99
[551]100TypeDef PaintDCBackGroundArgs = PaintDCHandledArgs
[473]101
102Enum MouseButtons
103 None = 0
104 Left = MK_LBUTTON
105 Right = MK_RBUTTON
106 Middle = MK_MBUTTON
107 XButton1 = MK_XBUTTON1
108 XButton2 = MK_XBUTTON2
[542]109
110 Shift = MK_SHIFT
111 Control = MK_CONTROL
[473]112End Enum
113
[551]114Class MouseArgs
115 Inherits Args
[473]116Public
[551]117 Sub MouseArgs(button As MouseButtons, clicks As Long, x As Long, y As Long, delta As Long)
[473]118 This.button = button
119 This.clicks = clicks
120 This.pt = New System.Drawing.Point(x, y)
121 This.delta = delta
122 End Sub
123
124 Const Function Button() As MouseButtons
125 Button = button
126 End Function
127
128 Const Function Clicks() As Long
129 Clicks = clicks
130 End Function
131
132 Const Function Delta() As Long
133 Delta = delta
134 End Function
135
136 Const Function Locale() As System.Drawing.Point
137 Locale = New System.Drawing.Point(pt.X, pt.Y)
138 End Function
139
140 Const Function X() As Long
141 X = pt.X
142 End Function
143
144 Const Function Y() As Long
145 Y = pt.Y
146 End Function
147
148Private
149 pt As System.Drawing.Point
150 button As MouseButtons
151 clicks As Long
152 delta As Long
153End Class
154
[551]155Delegate Sub MouseHandler(sender As Object, e As MouseArgs)
[473]156
[551]157Class KeyPressArgs
158 Inherits Args
[473]159Public
[551]160 Sub KeyPressArgs(keyChar As Char)
[473]161 key = keyChar
162 End Sub
163
164 Sub KeyChar(keyChar As Char)
165 key = keyChar
166 End Sub
167
168 Const Function KeyChar() As Char
169 KeyChar = key
170 End Function
171
172 Sub Handled(handled As Boolean)
173 h = handled
174 End Sub
175
176 Const Function Handled() As Boolean
177 Handled = h
178 End Function
179Private
180 key As Char
181 h As Boolean
182End Class
183
[551]184Delegate Sub KeyPressHandler(sender As Object, e As KeyPressArgs)
[473]185
186Enum Keys
187 None = 0
188 LButton = VK_LBUTTON
189 RButton = VK_RBUTTON
190 Cancel = VK_CANCEL
191 MButton = VK_MBUTTON
192 XButton1 = VK_XBUTTON1
193 XButton2 = VK_XBUTTON2
194 Back = VK_BACK
195 Tab = VK_TAB
196 LineFeed = &ha
197 Clear = VK_CLEAR
198 Enter = VK_RETURN
199 Return_ = VK_RETURN
200 ShiftKey = VK_SHIFT
201 ControlKey = VK_CONTROL
202 Menu = VK_MENU
203 Pause = VK_PAUSE
204 Capital = VK_CAPITAL
205 KanaMode = VK_KANA
206 HangulMode = VK_HANGUL
207 JunjaMode = VK_JUNJA
208 FinalMode = VK_FINAL
209 KanjiMode = VK_KANJI
210 HanjaMode = VK_HANJA
211 Escape = VK_ESCAPE
212 IMEConvert = VK_CONVERT
213 IMENonconvert = VK_NONCONVERT
214 IMEAccept = VK_ACCEPT
215 IMEModeChange = VK_MODECHANGE
216 Space = VK_SPACE
217 Prior = VK_PRIOR
218 PageUp = VK_PRIOR
219 PageDown = VK_NEXT
220 Next_ = VK_NEXT
221 End_ = VK_END
222 Home = VK_HOME
223 Left = VK_LEFT
224 Up = VK_UP
225 Right = VK_RIGHT
226 Down = VK_DOWN
227 Select_ = VK_SELECT
228 Print = VK_PRINT
229 Execute = VK_EXECUTE
230 Snapshot = VK_SNAPSHOT
231 Insert = VK_INSERT
232 Delete_ = VK_DELETE
233 Help = VK_HELP
234 D0 = &h30
235 D1 = &h31
236 D2 = &h32
237 D3 = &h33
238 D4 = &h34
239 D5 = &h35
240 D6 = &h36
241 D7 = &h37
242 D8 = &h38
243 D9 = &h39
244 A = &h41
245 B = &h42
246 C = &h43
247 D = &h44
248 E = &h45
249 F = &h46
250 G = &h47
251 H = &h48
252 I = &h49
253 J = &h4a
254 K = &h4b
255 L = &h4c
256 M = &h4d
257 N = &h4e
258 O = &h4f
259 P = &h50
260 Q = &h51
261 R = &h52
262 S = &h53
263 T = &h54
264 U = &h55
265 V = &h56
266 W = &h57
267 X = &h58
268 Y = &h59
269 Z = &h5A
270 LWin = VK_LWIN
271 RWin = VK_RWIN
272 Apps = VK_APPS
273 Sleep = VK_SLEEP
274 NumPad0 = VK_NUMPAD0
275 NumPad1 = VK_NUMPAD1
276 NumPad2 = VK_NUMPAD2
277 NumPad3 = VK_NUMPAD3
278 NumPad4 = VK_NUMPAD4
279 NumPad5 = VK_NUMPAD5
280 NumPad6 = VK_NUMPAD6
281 NumPad7 = VK_NUMPAD7
282 NumPad8 = VK_NUMPAD8
283 NumPad9 = VK_NUMPAD9
284 Multiply = VK_MULTIPLY
285 Add = VK_ADD
286 Separator = VK_SEPARATOR
287 Substract = VK_SUBTRACT
288 Decimal = VK_DECIMAL
289 Divide = VK_DIVIDE
290 F1 = VK_F1
291 F2 = VK_F2
292 F3 = VK_F3
293 F4 = VK_F4
294 F5 = VK_F5
295 F6 = VK_F6
296 F7 = VK_F7
297 F8 = VK_F8
298 F9 = VK_F9
299 F10 = VK_F10
300 F11 = VK_F11
301 F12 = VK_F12
302 F13 = VK_F13
303 F14 = VK_F14
304 F15 = VK_F15
305 F16 = VK_F16
306 F17 = VK_F17
307 F18 = VK_F18
308 F19 = VK_F19
309 F20 = VK_F20
310 F21 = VK_F21
311 F22 = VK_F22
312 F23 = VK_F23
313 F24 = VK_F24
314 NumLock = VK_NUMLOCK
315 Scroll = VK_SCROLL
316 LShiftKey = VK_LSHIFT
317 RShiftKey = VK_RSHIFT
318 LControlKey = VK_LCONTROL
319 RControlKey = VK_RCONTROL
320 LMenu = VK_LMENU
321 RMenu = VK_RMENU
322 BrowserBack = VK_BROWSER_BACK
323 BrowserForward = VK_BROWSER_FORWARD
324 BrowserRefresh = VK_BROWSER_REFRESH
325 BrowserStop = VK_BROWSER_STOP
326 BrowserSearch = VK_BROWSER_SEARCH
327 BrowserFavorites = VK_BROWSER_FAVORITES
328 BrowserHome = VK_BROWSER_HOME
329 VolumeMute = VK_VOLUME_MUTE
330 VolumeDown = VK_VOLUME_DOWN
331 VolumeUp = VK_VOLUME_UP
332 MediaNextTrack = VK_MEDIA_NEXT_TRACK
333 MediaPreviousTrack = VK_MEDIA_PREV_TRACK
334 MediaStop = VK_MEDIA_STOP
335 MediaPlayPause = VK_MEDIA_PLAY_PAUSE
336 LaunchMail = VK_LAUNCH_MAIL
337 SelectMedia = VK_LAUNCH_MEDIA_SELECT
338 LaunchApplication1 = VK_LAUNCH_APP1
339 LaunchApplication2 = VK_LAUNCH_APP2
340 Oem1 = VK_OEM_1
341 Oemplus = VK_OEM_PLUS
342 Oemcomma = VK_OEM_COMMA
343 OemMinus = VK_OEM_MINUS
344 OemPeriod = VK_OEM_PERIOD
345 Oem2 = VK_OEM_2
346 OemQuestion = VK_OEM_2
347 Oem3 = VK_OEM_3
348 Oemtilde = VK_OEM_3
349 Oem4 = VK_OEM_4
350 OemOpenBrackets = VK_OEM_4
351 Oem5 = VK_OEM_5
352 OemPipe = VK_OEM_5
353 Oem6 = VK_OEM_6
354 OemCloseBrackets = VK_OEM_6
355 Oem7 = VK_OEM_7
356 OemQuotes = VK_OEM_7
357 Oem8 = VK_OEM_8
358 Oem102 = VK_OEM_102
359 OemBackslash = VK_OEM_102
360 ProcessKey = VK_PROCESSKEY
361 Packet = VK_PACKET
362 Attn = VK_ATTN
363 Crsel = VK_CRSEL
364 Exsel = VK_EXSEL
365 EraseEof = VK_EREOF
366 Play = VK_PLAY
367 NoName = VK_NONAME
368 Zoom = VK_ZOOM
369 Pa1 = VK_PA1
370 OemClear = VK_OEM_CLEAR
371
372 KeyCode = &hffff
373
374 Shift = &h10000
375 Control = &h20000
376 Alt = &h40000
377
378 Modifiers = &hffff
379End Enum
380
[551]381Class KeyArgs
382 Inherits Args
[473]383Public
[551]384 Sub KeyArgs(keyData As Keys)
[473]385 key = keyData
386 End Sub
387
388 Function Alt() As Boolean
389 Alt = key And Keys.Menu
390 End Function
391
392 Function Control() As Boolean
393 Control = key And Keys.Control
394 End Function
395
396 Function Shift() As Boolean
397 Shift = key And Keys.Shift
398 End Function
399
400 Function KeyCode() As Keys
[542]401 Dim k = key As DWord
402 Dim mask = Keys.KeyCode As DWord
403 KeyCode = (k And mask) As Keys
[473]404 End Function
405
406 Function KeyData() As Keys
407 KeyData = key
408 End Function
409
410 Function Modifiers() As Keys
[542]411 Dim k = key As DWord
412 Dim mask = Keys.Modifiers As DWord
413 Modifiers = (k And mask) As Keys
[473]414 End Function
415
416 Function KeyValue() As Long
417 KeyValue = key As Long
418 End Function
419
420 Sub Handled(handled As Boolean)
421 h = handled
422 End Sub
423
424 Function Handled() As Boolean
425 Handled = h
426 End Function
427
428Private
429 key As Keys
430 h As Boolean
431End Class
432
[551]433Delegate Sub KeyHandler(sender As Object, e As KeyArgs)
[473]434
[551]435Class CreateArgs
436 Inherits Args
[542]437Public
[551]438 Sub CreateArgs(pCreateStruct As *CREATESTRUCT)
[542]439 pcs = pCreateStruct
440 End Sub
441
442 Const Function HInstance() As HINSTANCE
443 HInstance = pcs->hInstance
444 End Function
445
446 'Menu: pcs->hMenu
447
[547]448' Const Function Parent() As Control
449' Parent = Control.FromHandle(pcs->hwndParent)
450' End Function
[542]451
452 Const Function Height() As Long
453 Height = pcs->cy
454 End Function
455
456 Const Function Width() As Long
457 Width = pcs->cx
458 End Function
459
460 Const Function Y() As Long
461 Y = pcs->cy
462 End Function
463
464 Const Function X() As Long
465 X = pcs->cx
466 End Function
467
468 Const Function Style() As DWord
469 Style = pcs->style As DWord
470 End Function
471
472 Const Function Caption() As String
473 Caption = New String(pcs->lpszName)
474 End Function
475
476 Const Function ClassName() As String
477 ClassName = New String(pcs->lpszClass)
478 End Function
479
480 Const Function ExStyle() As DWord
481 ExStyle = pcs->dwExStyle
482 End Function
483
484 Const Function CreateStruct() As *CREATESTRUCT
485 CreateStruct = pcs
486 End Function
487Private
488 pcs As *CREATESTRUCT
489End Class
490
[551]491Delegate Sub CreateHandler(sender As Object, e As CreateArgs)
[542]492
[551]493Class FormClosingArgs
494 Inherits Args
[544]495Public
[551]496 Sub FormClosingArgs()
[544]497 c = False
498 End Sub
499
500 Function Cancel() As Boolean
501 Cancel = c
502 End Function
503
504 Sub Cancel(cancel As Boolean)
505 c = cancel
506 End Sub
507Private
508 c As Boolean
509End Class
510
[551]511Delegate Sub FormClosingHandler(sender As Object, e As FormClosingArgs)
[544]512
[473]513End Namespace 'UI
514End Namespace 'Widnows
515End Namespace 'ActiveBasic
Note: See TracBrowser for help on using the repository browser.