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

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

GDI+をコンパイルできるように修正。FontFamily, Penの追加。サンプルとして、Step 32のGDI+版を制作。
(#56)

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