source: Include/windows/WindowHandle.sbp@ 176

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

Controlの追加とそれに伴う修正

File size: 21.4 KB
Line 
1#ifndef __WINDOWSHANDLE_SBP__
2#define __WINDOWSHANDLE_SBP__
3
4#ifdef _WIN64
5Declare Function _System_GetWindowLongPtr Lib "user32" Alias "GetWindowLongPtrA" (hWnd As HWND, nIndex As Long) As LONG_PTR
6Declare Function _System_SetWindowLongPtr Lib "user32" Alias "SetWindowLongPtrA" (hWnd As HWND, nIndex As Long, l As LONG_PTR) As LONG_PTR
7#else
8Declare Function _System_GetWindowLongPtr Lib "user32" Alias "GetWindowLongA" (hWnd As HWND, nIndex As Long) As LONG_PTR
9Declare Function _System_SetWindowLongPtr Lib "user32" Alias "SetWindowLongA" (hWnd As HWND, nIndex As Long, l As LONG_PTR) As LONG_PTR
10#endif
11Declare Function _System_GetParent Lib "user32" Alias "GetParent" (hWnd As HWND) As HWND
12Declare Function _System_SetParent Lib "user32" Alias "SetParent" (hWnd As HWND) As HWND
13Declare Function _System_GetMenu Lib "user32" Alias "GetMenu" (hWnd As HWND) As HMENU
14Declare Function _System_SetMenu Lib "user32" Alias "SetMenu" (hWnd As HWND) As HMENU
15Declare Function _System_InvalidateRect Lib "user32" Alias "InvalidateRect" (hWnd As HWND, ByRef Rect As RECT, bErase As BOOL) As BOOL
16Declare Function _System_InvalidateRgn Lib "user32" Alias "InvalidateRgn" (hWnd As HWND, hRgn As HRGN, bErase As BOOL) As BOOL
17Declare Function _System_ValidateRect Lib "user32" Alias "ValidateRect" (hWnd As HWND, ByRef Rect As RECT) As BOOL
18Declare Function _System_ValidateRgn Lib "user32" Alias "ValidateRgn" (hWnd As HWND, hRgn As HRGN) As BOOL
19Declare Function _System_BeginPaint Lib "user32" Alias "BeginPaint" (hWnd As HWND, ByRef ps As PAINTSTRUCT) As HDC
20Declare Function _System_EndPaint Lib "user32" Alias "EndPaint" (hWnd As HWND, ByRef lpPaint As PAINTSTRUCT) As HDC
21Declare Function _System_ClientToScreen Lib "user32" Alias "ClientToScreen" (hWnd As HWND, ByRef lpPoint As POINTAPI) As BOOL
22Declare Function _System_ScreenToClient Lib "user32" Alias "ScreenToClient" (hWnd As HWND, ByRef lpPoint As POINTAPI) As BOOL
23Declare Function _System_CreateCaret Lib "user32" Alias "CreateCaret" (hWnd As HWND, hBitmap As HBITMAP, nWidth As Long, nHeight As Long) As BOOL
24Declare Function _System_HideCaret Lib "user32" Alias "HideCaret" (hWnd As HWND) As BOOL
25Declare Function _System_ShowCaret Lib "user32" Alias "ShowCaret" (hWnd As HWND) As BOOL
26Declare Function _System_DrawMenuBar Lib "user32" Alias "DrawMenuBar" (hwnd As HWND) As BOOL
27Declare Function _System_GetWindowRect Lib "user32" Alias "DrawMenuBar" (hWnd As HWND, ByRef Rect As RECT) As BOOL
28Declare Function _System_IsWindow Lib "user32" Alias "IsWindow" (hWnd As HWND) As BOOL
29Declare Function _System_Isiconic Lib "user32" Alias "Isiconic" (hWnd As HWND) As BOOL
30Declare Function _System_GetClientRect Lib "user32" Alias "GetClientRect" (hWnd As HWND, ByRef lpRect As RECT) As BOOL
31
32Class WindowHandle
33 hwnd As HWND
34Public
35 Sub WindowHandle()
36 hwnd = 0
37 End Sub
38
39 Sub WindowHandle(hwndNew As HWND)
40 hwnd = hwndNew
41 End Sub
42
43 Sub WindowHandle(ByRef wnd As WindowHandle)
44 hwnd = wnd.hwnd
45 End Sub
46
47 Sub Operator =(hwndNew As HWND)
48 hwnd = hwndNew
49 End Sub
50
51 Const Function HWnd() As HWND
52 Return hwnd
53 End Function
54
55 Const Function Operator() As HWND
56 Return hwnd
57 End Function
58
59 Function BringToTop() As BOOL
60 Return BringWindowToTop(hwnd)
61 End Function
62
63 Function BeginPaint(ByRef ps As PAINTSTRUCT) As HDC
64 Return _System_BeginPaint(hwnd, ps)
65 End Function
66
67 Const Function ChildFromPoint(x As Long, y As Long) As HWND
68 Return ChildWindowFromPoint(hwnd, x, y)
69 End Function
70
71 Const Function ChildFromPointEx(x As Long, y As Long, flags As DWord) As HWND
72 Return ChildWindowFromPointEx(hwnd, x, y, flags)
73 End Function
74
75 Const Function ClientToScreen(ByRef pt As POINTAPI) As BOOL
76 Return _System_ClientToScreen(hwnd, pt)
77 End Function
78
79 Function Close() As BOOL
80 Return CloseWindow(hwnd)
81 End Function
82
83 Function CreateCaret(hbmp As HBITMAP, width As Long, height As Long) As BOOL
84 Return _System_CreateCaret(hwnd, hbmp, width, hegiht)
85 End Function
86
87 Function Destroy() As BOOL
88 Return DestroyWindow(hwnd)
89 End Function
90
91 Function DrawMenuBar() As BOOL
92 Return _System_DrawMenuBar(hwnd)
93 End Function
94
95 Function EnableScrollBar(SBFlags As DWord, arrows As DWord) As BOOL
96 Return EnableScrollBar(hwnd, SBFlags, arrows)
97 End Function
98
99 Function Enable(enable As BOOL) As BOOL
100 Return EnableWindow(hwnd, enable)
101 End Function
102
103 Function EndPaint(ByRef ps As PAINTSTRUCT) As BOOL
104 Return _System_EndPaint(hwnd, ps)
105 End Function
106
107 Const Function EnumChilds(enumFunc As WNDENUMPROC, lp As LPARAM) As BOOL
108 Return EnumChildWindows(hwnd, enumFunc, lp)
109 End Function
110
111 Function Flash(invert As BOOL) As BOOL
112 Return FlashWindow(hwnd, invert)
113 End Function
114
115 Const Function GetClassLongPtr(index As Long) As LONG_PTR
116 Return GetClassLongPtr(hwnd, index)
117 End Function
118
119 Const Function GetClassName(className As PSTR, maxCount As Long) As Long
120 Return GetClassName(className, maxCount)
121 End Function
122
123 Const Function GetClientRect(ByRef rc As RECT) As BOOL
124 Return _System_GetClientRect(hwnd, rc)
125 End Function
126
127 Const Function GetContextHelpId() As DWord
128 Return GetWindowContextHelpId(hwnd)
129 End Function
130
131 Function GetDC() As HDC
132 Return GetDC(hwnd)
133 End Function
134
135 Function GetDCEx(hrgnClip As HRGN, flags As DWord) As HDC
136 Return GetDCEx(hwnd, hrgnClip, flags)
137 End Function
138
139 Const Function GetDlgCtrlID() As Long
140 Return GetDlgCtrlID(hwnd)
141 End Function
142
143 Const Function GetDlgItem(idDlgItem As Long) As WindowHandle
144 Return GetDlgItem(hwnd, idDlgItem)
145 End Function
146
147 Const Function GetDlgItemText(idDlgItem As Long, ps As PSTR, maxCount As Long) As Long
148 Return GetDlgItemText(hwnd, idDlgItem, ps, maxCount)
149 End Function
150
151 Const Function GetMenu() As HMENU
152 Return _System_GetMenu(hwnd)
153 End Function
154
155 Const Function GetParent() As WindowHandle
156 Dim w As WindowHandle(_System_GetParent(hwnd))
157 Return w
158 End Function
159
160 Const Function GetProp(psz As PCSTR) As HANDLE
161 Return GetProp(hwnd, psz)
162 End Function
163
164 Const Function GetProp(atom As ATOM) As HANDLE
165 Return GetProp(hwnd, atom As ULONG_PTR As PCSTR)
166 End Function
167
168 Const Function GetScrollInfo(fnBar As Long, ByRef si As SCROLLINFO) As BOOL
169 Return GetScrollInfo(hwnd, fnBar, si)
170 End Function
171
172 Const Function GetSystemMenu(revert As BOOL) As HMENU
173 Return GetSystemMenu(hwnd, revert)
174 End Function
175
176 Const Function GetUpdateRect(ByRef rc As RECT, erase As BOOL) As BOOL
177 Return GetUpdateRact(hwnd, rc, erase)
178 End Function
179
180 Const Function GetUpdateRgn(hrgn As HRGN, erase As BOOL) As BOOL
181 Return GetUpdateRgn(hwnd, hrgn, erase)
182 End Function
183
184 Const Function GetWindow(cmd As DWord) As WindowHandle
185 Return GetWindow(hwnd, cmd)
186 End Function
187
188 Function GetWindowDC() As HDC
189 Return GetWindowDC(hwnd)
190 End Function
191
192 Const Function GetWindowLongPtr(index As Long) As LONG_PTR
193 Return _System_GetWindowLongPtr(hwnd, index)
194 End Function
195
196 Const Function GetWindowPlasement(ByRef wndpl As WINDOWPLACEMENT) As BOOL
197 Return GetWindowPlasement(hwnd, wndpl)
198 End Function
199
200 Const Function GetWindowRect(ByRef rc As RECT) As BOOL
201 Return _System_GetWindowRect(rc)
202 End Function
203
204 Const Function GetText(ps As PSTR, maxCount As Long) As BOOL
205 Return GetWindowText(ps, maxCount)
206 End Function
207
208 Const Function GetTextLength() As Long
209 Return GetWindowTextLength(hwnd)
210 End Function
211
212 Const Function GetWindowThreadId() As DWord
213 Return GetWindowProcessThreadId(hwnd, 0)
214 End Function
215
216 Const Function GetWindowProcessThreadId(ByRef processId As DWord) As DWord
217 Return GetWindowProcessThreadId(hwnd, processId)
218 End Function
219
220 Function HideCaret() As BOOL
221 Return _System_HideCaret(hwnd)
222 End Function
223
224 Function InvalidateRect(ByRef rc As RECT, erace As BOOL) As BOOL
225 Return _System_InvalidateRect(hwnd, rc, erace)
226 End Function
227
228 Function InvalidateRect(ByRef rc As RECT) As BOOL
229 Return _System_InvalidateRect(hwnd, rc, TRUE)
230 End Function
231
232 Function InvalidateRgn(hrgn As HRGN, erace As BOOL) As BOOL
233 Return _System_InvalidateRgn(hwnd, hrgn, erace)
234 End Function
235
236 Function InvalidateRgn(hrgn As HRGN) As BOOL
237 Return _System_InvalidateRgn(hwnd, hrgn, TRUE)
238 End Function
239
240 Function Invalidate(erace As BOOL) As BOOL
241 Return _System_InvalidateRect(hwnd, ByVal 0, erace)
242 End Function
243
244 Function Invalidate() As BOOL
245 Return _System_InvalidateRect(hwnd, ByVal 0, TRUE)
246 End Function
247
248 Const Function IsChild(hwnd As HWND) As BOOL
249 Return IsChild(This.hwnd, hwnd)
250 End Function
251
252 Const Function IsDialogMessage(ByRef msg As MSG) As BOOL
253 Return IsDialogMessage(hwnd, msg)
254 End Function
255
256 Const Function IsIconic() As BOOL
257 Return _System_IsIconic(hwnd)
258 End Function
259
260 Const Function IsWindow() As BOOL
261 Return _System_IsWindow(hwnd)
262 End Function
263
264 Const Function IsEnabled() As BOOL
265 Return IsWindowEnabled(hwnd)
266 End Function
267
268 Const Function IsUnicode() As BOOL
269 Return IsWindowUnicode(hwnd)
270 End Function
271
272 Const Function IsVisible() As BOOL
273 Return IsWindowVisible(hwnd)
274 End Function
275
276 Const Function IsZoomed() As BOOL
277 Return IsZoomed(hwnd)
278 End Function
279
280 Function KillTimer(idEvent As ULONG_PTR) As BOOL
281 Return KillTimer(idEvent)
282 End Function
283
284 Function LockUpdate() As BOOL
285 Return LockWindowUpdate(hwnd)
286 End Function
287
288 Function MapPoints(hwndTo As HWND, pPoints As *POINTAPI, cPoints As DWord) As Long
289 Return MapWindowPoints(hwnd, hwndTo, pPoints, cPoints)
290 End Function
291
292 Function MapPoints(hwndTo As HWND, ByRef rc As RECT) As Long
293 Return MapWindowPoints(hwnd, hwndTo, VarPtr(rc) As *POINTAPI, 2)
294 End Function
295
296 Const Function MessageBox(text As PCSTR, caption As PCSTR, uType As DWord) As Long
297 Return MessageBox(hwnd, text, caption, uType)
298 End Function
299
300 Const Function MessageBox(text As PCSTR, caption As PCSTR) As Long
301 Return MessageBox(hwnd, text, caption, MB_OK)
302 End Function
303
304 Const Function MessageBox(text As PCSTR) As Long
305 Return MessageBox(hwnd, text, 0, MB_OK)
306 End Function
307
308 Function Move(x As Long, y As Long, width As Long, height As Long, repaint As BOOL) As BOOL
309 Return MoveWindow(hwnd, x, y, width, height, repaint)
310 End Function
311
312 Function Move(x As Long, y As Long, width As Long, height As Long) As BOOL
313 Return MoveWindow(hwnd, x, y, width, height, TRUE)
314 End Function
315
316 Function Move(ByRef rc As RECT, repeaint As BOOL) As BOOL
317 With rc
318 Return MoveWindow(hwnd, .left, .top, .right - .left, .bottom - .top, repaint)
319 End With
320 End Function
321
322 Function Move(ByRef rc As RECT) As BOOL
323 With rc
324 Return MoveWindow(hwnd, .left, .top, .right - .left, .bottom - .top, TRUE)
325 End With
326 End Function
327
328 Function OpenClipboard() As BOOL
329 Return OpenClipboard(hwnd)
330 End Function
331
332 Function OpenIcon() As BOOL
333 Return OpenIcon(hwnd)
334 End Function
335
336 Function PostMessage(msg As DWord, wp As WPARAM, lp As LPARAM) As BOOL
337 Return PostMessage(hwnd, msg, wp, lp)
338 End Function
339
340 Function PostMessage(msg As DWord) As BOOL
341 Return PostMessage(hwnd, msg, 0, 0)
342 End Function
343
344 Function RedrawWindow(ByRef rcUpdate As RECT, hrgnUpdate As HRGN, flags As DWord) As BOOL
345 Return RedrawWindow(hwnd, rcUpdatre, hrgnUpdate, flags)
346 End Function
347
348 Function ReleaseDC(hdc As HDC) As BOOL
349 Return ReleaseDC(hwnd, hdc)
350 End Function
351
352 Function RemoveProp(psz As PCSTR) As HANDLE
353 Return RemoveProp(hwnd, psz)
354 End Function
355
356 Function RemoveProp(atom As ATOM) As HANDLE
357 Return RemoveProp(hwnd, atom As ULONG_PTR As PCSTR)
358 End Function
359
360 Const Function ScreenToClient(ByRef pt As POINTAPI) As BOOL
361 Return _System_ScreenToClient(hwnd, pt)
362 End Function
363
364 Function Scroll(dx As Long, dy As Long, ByRef rcScroll As RECT, ByRef rcClip As RECT, hrgnUpdate As HRGN, ByRef rcUpdate As RECT, flags As DWord) As BOOL
365 Return ScrollWindowEx(hwnd, dx, dy, rcScroll, rcClip, hrgnUpdate, rcUpdate, flags)
366 End Function
367
368 Function SendDlgItemMessage(idDlgItem As Long, msg As DWord, wp As WPARAM, lp As LPARAM) As LRESULT
369 Return SendDlgItemMessage(hwnd, idDlgItem, wp, lp)
370 End Function
371
372 Function SendDlgItemMessage(idDlgItem As Long, msg As DWord) As LRESULT
373 Return SendDlgItemMessage(hwnd, idDlgItem, 0, 0)
374 End Function
375
376 Function SendMessage(msg As DWord, wp As WPARAM, lp As LPARAM) As LRESULT
377 Return SendMessage(hwnd, msg, wp, lp)
378 End Function
379
380 Function SendMessage(msg As DWord) As LRESULT
381 Return SendMessage(hwnd, msg, 0, 0)
382 End Function
383
384 Function SetActiveWindow() As HWND
385 Return SetActiveWindow(hwnd)
386 End Function
387
388 Function SetDlgItemText(idDlgItem As Long, psz As PCSTR) As BOOL
389 Return SetDlgItemText(hwnd, idDlgItem, psz)
390 End Function
391
392 Function SetCapture() As HWND
393 Return SetCapture(hwnd) As HWND
394 End Function
395
396 Function SetClassLongPtr(index As Long, newLong As LONG_PTR) As LONG_PTR
397 Return SetClassLongPtr(hwnd, index, newLong)
398 End Function
399
400 Function SetFocus() As HWND
401 Return SetFocus(hwnd)
402 End Function
403
404 Function SetForeground() As BOOL
405 Return SetForegroundWindow(hwnd)
406 End Function
407
408 Function SetMenu(hmenu As HMENU) As BOOL
409 Return _System_SetMenu(hwnd, hmenu)
410 End Function
411
412 Function SetParent(hwndNewParent As HWND) As HWND
413 Return _System_SetParent(hwnd, hwndNewParent)
414 End Function
415
416 Function SetProp(psz As PCSTR, hData As HANDLE) As BOOL
417 Return SetProp(hwnd, psz, hData)
418 End Function
419
420 Function SetProp(atom As ATOM, hData As HANDLE) As BOOL
421 Return SetProp(atom As ULONG_PTR As PCSTR, hData)
422 End Function
423
424 Function SetScrollInfo(fnBar As Long, ByRef si As SCROLLINFO, redraw As BOOL) As BOOL
425 Return SetScrollInfo(hwnd, fnBar, si, redraw)
426 End Function
427
428 Function SetScrollInfo(fnBar As Long, ByRef si As SCROLLINFO) As BOOL
429 Return SetScrollInfo(hwnd, fnBar, si, TRUE)
430 End Function
431
432 Function SetTimer(idEvent As ULONG_PTR, elapse As DWord, timerFunc As TIMERPROC) As ULONG_PTR
433 Return SetTmer(hwnd, idEvent, elapse, timerFunc)
434 End Function
435
436 Function SetTimer(idEvent As ULONG_PTR, elapse As DWord) As ULONG_PTR
437 Return SetTmer(hwnd, idEvent, elapse, 0)
438 End Function
439
440 Function SetContextHelpId(contextHelpId As DWord) As BOOL
441 Return SetContextHelpId(hwnd, contextHelpId)
442 End Function
443
444 Function SetWindowLongPtr(index As Long, newLong As LONG_PTR) As LONG_PTR
445 Return _System_SetWindowLongPtr(hwnd, index, newLong)
446 End Function
447
448 Function SetWindowPlacement(ByRef wndpl As WINDOWPLACEMENT) As BOOL
449 Return SetWindowPlacement(hwnd, wndpl)
450 End Function
451
452 Function SetPos(hwndInsertAfter As HWND, x As Long, y As Long, cx As Long, cy As Long, flags As DWord) As BOOL
453 Return SetWindowPos(hwnd, hwndInsertAfter, x, y, cx, cy, flags)
454 End Function
455
456 Function SetPos(hwndInsertAfter As HWND, ByRef rc As RECT, flags As DWord) As BOOL
457 With rc
458 Return SetWindowPos(hwnd, hwndInsertAfter, .left, .top, .right - .left, .bottom - .top, flags)
459 End With
460 End Function
461
462 Function SetRgn(hrgn As HRGN, redraw As BOOL) As BOOL
463 Return SetWindowRgn(hwnd, hrgn, redraw)
464 End Function
465
466 Function SetRgn(hrgn As HRGN) As BOOL
467 Return SetWindowRgn(hwnd, hrgn, TRUE)
468 End Function
469
470 Function SetText(psz As PCSTR) As BOOL
471 Return SetWindowText(hwnd, psz)
472 End Function
473
474 Function ShowCaret() As BOOL
475 Return _System_ShowCaret(hwnd)
476 End Function
477
478 Function ShowScrollBar(bar As DWord, show As BOOL) As BOOL
479 Return ShowScrollBar(hwnd, bar, show)
480 End Function
481
482 Function ShowScrollBar(bar As DWord) As BOOL
483 Return ShowScrollBar(hwnd, bar, TRUE)
484 End Function
485
486 Function Show(cmdShow As DWord) As BOOL
487 Return ShowWindow(hwnd, cmdShow)
488 End Function
489
490 Function ShowAsync(cmdShow As DWord) As BOOL
491 Return ShowWindowAsync(hwnd, cmdShow)
492 End Function
493
494 Function Update() As BOOL
495 Return UpdateWindow(hwnd)
496 End Function
497
498 Function ValidateRect(ByRef rc As RECT) As BOOL
499 Return _System_ValidateRect(hwnd, rc)
500 End Function
501
502 Function ValidateRgn(hrgn As HRGN) As BOOL
503 Return _System_ValidateRgn(hwnd, hrgn)
504 End Function
505
506 Function Validate() As BOOL
507 Return _System_ValidateRect(hwnd, ByVal 0)
508 End Function
509
510 ' Get/SetWindowLongPtr Wrappers
511
512 Const Function GetExStyle() As DWord
513 Return _System_GetWindowLongPtr(hwnd, GWL_EXSTYLE) As DWord
514 End Function
515
516 Const Function GetStyle() As DWord
517 Return _System_GetWindowLongPtr(hwnd, GWL_STYLE) As DWord
518 End Function
519
520 Const Function GetWndProc() As WNDPROC
521 Return _System_GetWindowLongPtr(hwnd, GWLP_HINSTANCE) As WNDPROC
522 End Function
523
524 Const Function GetInstance() As HINSTANCE
525 Return _System_GetWindowLongPtr(hwnd, GWLP_HINSTANCE) As HINSTANCE
526 End Function
527
528 Const Function GetUserData() As LONG_PTR
529 Return _System_GetWindowLongPtr(hwnd, GWLP_USERDATA)
530 End Function
531
532 Function SetExStyle(style As DWord) As DWord
533 Return _System_SetWindowLongPtr(hwnd, GWL_EXSTYLE, style) As DWord
534 End Function
535
536 Function SetStyle(style As DWord) As DWord
537 Return _System_SetWindowLongPtr(hwnd, GWL_STYLE, style) As DWord
538 End Function
539
540 Function SetWndProc(wndProc As WNDPROC) As WNDPROC
541 Return _System_SetWindowLongPtR(hwnd, GWLP_WNDPROC, wndProc As WNDPROC) As WNDPROC
542 End Function
543
544 Function SetUserData(value As LONG_PTR) As LONG_PTR
545 Return _System_SetWindowLongPtr(value As LONG_PTR)
546 End Function
547
548 ' Propaties
549
550 Const Function ClientRect() As RECT
551 Dim rc As RECT
552 _System_GetClientRect(hwnd, rc)
553 Return rc
554 End Function
555
556 Sub ClientRect(ByRef rc As RECT)
557 Dim hasMenu As BOOL
558 If IsChild() = FALSE And IsMenu() <> FALSE Then
559 hasMenu = TRUE
560 Else
561 hasMenu = FALSE
562 EndIf
563 AdjustWindowRectEx(rc, GetStyle(), hasMenu, GetExStyle())
564 MoveWindow(rc) ' WindowRect = rc
565 End Sub
566
567 Const Function WindowRect() As RECT
568 Dim rc As RECT
569 _System_GetWindowRect(hwnd, rc)
570 Return rc
571 End Function
572
573 Sub WindowRect(ByRef rc As RECT)
574 MoveWindow(rc)
575 End Sub
576
577 Const Function ContextHelpID() As DWord
578 Return GetContextHelpId(hwnd)
579 End Function
580
581 Sub ContextHelpID(newID As DWord)
582 _System_SetContextHelpId(hwnd, newId)
583 End Sub
584
585 Const Function DlgCtrlID() As Long
586 Return GetDlgCtrlID(hwnd)
587 End Function
588
589 Sub DlgCtrlId(newId As Long)
590 _System_SetWindowLongPtr(hwnd, GWLP_ID, newId)
591 End Sub
592
593 Function DlgItem(idDlgItem As Long) As WindowHandle
594 Dim w As WindowHandle(GetDlgItem(hwnd, idDlgItem))
595 Return w
596 End Function
597
598 Const Function ExStyle() As DWord
599 Return _System_GetWindowLongPtr(hwnd, GWL_EXSTYLE) As DWord
600 End Function
601
602 Sub ExStyle(newExStyle As DWord)
603 _System_SetWindowLongPtr(hwnd, GWLP_EXSTYLE, newExStyle)
604 End Sub
605
606 Const Function Style() As DWord
607 Return _System_GetWindowLongPtr(hwnd, GWL_STYLE) As DWord
608 End Function
609
610 Sub Style(newStyle As DWord) DWord
611 _System_SetWindowLongPtr(hwnd, GWLP_STYLE, newStyle)
612 End Sub
613
614 Const Function Enabled() As BOOL
615 Return IsWindowEnabled(hwnd)
616 End Function
617
618 Sub Enabled(enable As BOOL)
619 EnableWindow(hwnd, enable)
620 End Sub
621
622 Const Function Font() As HFONT
623 Return SendMessage(hwnd, WM_GETFONT, 0, 0) As HFONT
624 End Function
625
626 Sub Font(hfntNew As HFONT)
627 SendMessage(hwnd, WM_SETFONT, hfntNew As WPARAM, TRUE)
628 End Sub
629
630 Const Function Maximized() As BOOL
631 Return IsIconic(hwnd)
632 End Function
633
634 Sub Maximized(maximized As BOOL)
635 If maximized <> FALSE Then
636 ShowWindow(hwnd, SW_SHOWMAXIMIZED)
637 Else
638 ShowWindow(hwnd, SW_RESTORE)
639 End If
640 End Sub
641
642 Const Function Minimized() As BOOL
643 Return IsIconic(hwnd)
644 End Function
645
646 Sub Minimized(minimized As BOOL)
647 If minimized <> FALSE Then
648 CloseWindow(hwnd)
649 Else
650 OpenIcon(hwnd)
651 End If
652 End Sub
653
654 Const Function Instance() As HINSTANCE
655 Return _System_GetWindowLongPtr(hwnd, GWLP_HINSTANCE) As HINSTANCE
656 End Function
657
658 ' IsWindow, IsUnicodeはメソッドと同じ。
659
660 Const Function Parent() As WindowHandle
661 Return _System_GetParent(hwnd)
662 End Function
663
664 Sub Parent(hwndNewParent As HWND)
665 _System_SetParent(hwnd, hwndNewParent)
666 End Sub
667
668 Const Function ProcessID() As DWord
669 GetWindowProcessThreadId(ProcessID)
670 End Function
671
672 Const Function ThreadID() As DWord
673 Return GetWindowProcessThreadId(ByVal 0)
674 End Function
675
676 Const Function Menu() As HMENU
677 Return _System_GetMenu(hwnd)
678 End Function
679
680 Sub Menu(hmenuNew As HMENU)
681 _System_SetMenu(hwnd, hmenuNew)
682 End Sub
683
684 Const Function Text() As String
685 With Text
686 .ReSize(GetWindowTextLength(hwnd))
687 .ReSize(GetWindowText(hwnd, .Chars, .Length + 1))
688 End With
689 End Function
690
691 Sub Text(newText As PCSTR)
692 SetWindowText(hwnd, newText)
693 End Sub
694
695 Const Function TextLength() As Long
696 Return GetWindowTextLength(hwnd)
697 End Function
698
699 Const Function UserData() As LONG_PTR
700 Return _System_GetWindowLongPtr(hwnd, GWLP_USERDATA)
701 End Function
702
703 Sub UserData(newValue As LONG_PTR)
704 _System_SetWindowLongPtr(hwnd, GWLP_USERDATA, newValue)
705 End Sub
706
707 Const Function Visible() As BOOL
708 Return IsVisible(hwnd)
709 End Function
710
711 Sub Visible(visible As BOOL)
712 If visible <> FALSE Then
713 ShowWindow(hwnd, SW_SHOW)
714 Else
715 ShowWindow(hwnd, SW_HIDE)
716 EndIf
717 End Sub
718
719 Const Function WindowPlacement() As WINDOWPLACEMENT
720 WindowPlacement.length = Len(WindowPlacement)
721 GetWindowPlacement(hwnd, WindowPlacement)
722 End Function
723
724 Sub WindowPlacement(ByRef wndpl As WINDOWPLACEMENT)
725 SetWindowPlacement(wndpl)
726 End Sub
727
728 Const Function WndProc() As WNDPROC
729 Return _System_GetWindowLongPtr(hwnd, GWLP_HINSTANCE) As WNDPROC
730 End Function
731
732 Sub WndProc(newWndProc As WNDPROC)
733 _System_SetWindowLongPtr(hwnd, GWLP_WNDPROC, newWndProc As LONG_PTR)
734 End Sub
735
736Protected
737 Sub SetHWnd(hwndNew As HWND)
738 hwnd = hwndNew
739 End Sub
740End Class
741
742#endif '__WINDOWSHANDLE_SBP__
Note: See TracBrowser for help on using the repository browser.