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
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
[575]19 hwnd = hwndSrc
[542]20 wp = wParam
21 lp = lParam
22 lr = 0
[615]23 handled = True
[542]24 End Sub
25
[561]26 Const Function Msg() As DWord
[542]27 Msg = msg
28 End Function
29
[575]30 Const Function HWnd() As HWND
31 HWnd = hwnd
32 End Function
[542]33
[561]34 Const Function WParam() As WPARAM
[542]35 WParam = wp
36 End Function
37
[561]38 Const Function LParam() As LPARAM
[542]39 LParam = lp
40 End Function
41
[561]42 Const Function LResult() As LRESULT
[542]43 LResult = lr
44 End Function
45
46 Sub LResult(lResult As LRESULT)
47 lr = lResult
48 End Sub
[615]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
[542]57Private
58 msg As DWord
[575]59 hwnd As HWND
[542]60 wp As WPARAM
61 lp As LPARAM
62 lr As LRESULT
[615]63 handled As Boolean
[542]64End Class
65
[551]66Delegate Sub MessageHandler(sender As Object, e As MessageArgs)
[542]67
[551]68Class PaintDCArgs
69 Inherits Args
[473]70Public
[551]71 Sub PaintDCArgs(hdcTarget As HDC, ByRef rect As RECT)
[473]72 hdc = hdcTarget
73 rc = rect
74 End Sub
75
[561]76 Const Function Handle() As HDC
[473]77 Handle = hdc
78 End Function
79
[561]80 Const Function ClipRect() As RECT
[473]81 ClipRect = rc
82 End Function
83
84Private
85 hdc As HDC
86 rc As RECT
87End Class
88
[551]89Delegate Sub PaintDCHandler(sender As Object, e As PaintDCArgs)
[473]90
[551]91Class PaintDCHandledArgs
92 Inherits PaintDCArgs
[473]93Public
[551]94 Sub PaintDCHandledArgs(hdcTarget As HDC, ByRef rect As RECT)
95 PaintDCArgs(hdcTarget, rect)
[473]96 End Sub
97
[561]98 Const Function Handled() As Boolean
[473]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
[551]110TypeDef PaintDCBackGroundArgs = PaintDCHandledArgs
[473]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
[542]119
120 Shift = MK_SHIFT
121 Control = MK_CONTROL
[473]122End Enum
123
[551]124Class MouseArgs
125 Inherits Args
[473]126Public
[551]127 Sub MouseArgs(button As MouseButtons, clicks As Long, x As Long, y As Long, delta As Long)
[473]128 This.button = button
129 This.clicks = clicks
[698]130 This.pt.X = x
131 This.pt.Y = y
[473]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
[698]148 Locale = pt
[473]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
[551]166Delegate Sub MouseHandler(sender As Object, e As MouseArgs)
[473]167
[551]168Class KeyPressArgs
169 Inherits Args
[473]170Public
[551]171 Sub KeyPressArgs(keyChar As Char)
[473]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
[551]195Delegate Sub KeyPressHandler(sender As Object, e As KeyPressArgs)
[473]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
[551]392Class KeyArgs
393 Inherits Args
[473]394Public
[551]395 Sub KeyArgs(keyData As Keys)
[473]396 key = keyData
397 End Sub
398
[561]399 Const Function Alt() As Boolean
[473]400 Alt = key And Keys.Menu
401 End Function
402
[561]403 Const Function Control() As Boolean
[473]404 Control = key And Keys.Control
405 End Function
406
[561]407 Const Function Shift() As Boolean
[473]408 Shift = key And Keys.Shift
409 End Function
410
[561]411 Const Function KeyCode() As Keys
[542]412 Dim k = key As DWord
413 Dim mask = Keys.KeyCode As DWord
414 KeyCode = (k And mask) As Keys
[473]415 End Function
416
[561]417 Const Function KeyData() As Keys
[473]418 KeyData = key
419 End Function
420
[561]421 Const Function Modifiers() As Keys
[542]422 Dim k = key As DWord
423 Dim mask = Keys.Modifiers As DWord
424 Modifiers = (k And mask) As Keys
[473]425 End Function
426
[561]427 Const Function KeyValue() As Long
[473]428 KeyValue = key As Long
429 End Function
430
431 Sub Handled(handled As Boolean)
432 h = handled
433 End Sub
434
[561]435 Const Function Handled() As Boolean
[473]436 Handled = h
437 End Function
438
439Private
440 key As Keys
441 h As Boolean
442End Class
443
[551]444Delegate Sub KeyHandler(sender As Object, e As KeyArgs)
[473]445
[551]446Class CreateArgs
447 Inherits Args
[542]448Public
[551]449 Sub CreateArgs(pCreateStruct As *CREATESTRUCT)
[542]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
[547]459' Const Function Parent() As Control
460' Parent = Control.FromHandle(pcs->hwndParent)
461' End Function
[542]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
[698]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
[542]506Private
507 pcs As *CREATESTRUCT
[698]508 cancel As Boolean
[542]509End Class
510
[551]511Delegate Sub CreateHandler(sender As Object, e As CreateArgs)
[542]512
[551]513Class FormClosingArgs
514 Inherits Args
[544]515Public
[551]516 Sub FormClosingArgs()
[544]517 c = False
518 End Sub
519
[561]520 Const Function Cancel() As Boolean
[544]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
[551]531Delegate Sub FormClosingHandler(sender As Object, e As FormClosingArgs)
[544]532
[561]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
[564]567Class PaintBackgroundArgs
568 Inherits Args
569Public
570 Sub PaintBackgroundArgs(hdc As HDC)
571 This.hdc = hdc
[615]572 This.painted = True
[564]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
[615]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
[564]590Private
591 hdc As HDC
[615]592 painted As Boolean
[564]593End Class
594
595Delegate Sub PaintBackgroundHandler(sender As Object, e As PaintBackgroundArgs)
596
[473]597End Namespace 'UI
598End Namespace 'Widnows
599End Namespace 'ActiveBasic
Note: See TracBrowser for help on using the repository browser.