source: Include/windows/WindowHandle.sbp@ 178

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

BOOL→Boolean

File size: 22.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 Boolean
60 Return BringWindowToTop(hwnd) As Boolean
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 Boolean
76 Return _System_ClientToScreen(hwnd, pt) As Boolean
77 End Function
78
79 Function Close() As Boolean
80 Return CloseWindow(hwnd) As Boolean
81 End Function
82
83 Function CreateCaret(hbmp As HBITMAP, width As Long, height As Long) As Boolean
84 Return _System_CreateCaret(hwnd, hbmp, width, hegiht) As Boolean
85 End Function
86
87 Function Destroy() As Boolean
88 Return DestroyWindow(hwnd) As Boolean
89 End Function
90
91 Function DrawMenuBar() As Boolean
92 Return _System_DrawMenuBar(hwnd) As Boolean
93 End Function
94
95 Function EnableScrollBar(SBFlags As DWord, arrows As DWord) As Boolean
96 Return EnableScrollBar(hwnd, SBFlags, arrows) As Boolean
97 End Function
98
99 Function Enable(enable As Boolean) As Boolean
100 Return EnableWindow(hwnd, enable) As Boolean
101 End Function
102
103 Function EndPaint(ByRef ps As PAINTSTRUCT) As Boolean
104 Return _System_EndPaint(hwnd, ps) As Boolean
105 End Function
106
107 Const Function EnumChilds(enumFunc As WNDENUMPROC, lp As LPARAM) As Boolean
108 Return EnumChildWindows(hwnd, enumFunc, lp) As Boolean
109 End Function
110
111 Function Flash(invert As Boolean) As Boolean
112 Return FlashWindow(hwnd, invert) As Boolean
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 Boolean
124 Return _System_GetClientRect(hwnd, rc) As Boolean
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 Boolean
169 Return GetScrollInfo(hwnd, fnBar, si) As Boolean
170 End Function
171
172 Const Function GetSystemMenu(revert As Boolean) As HMENU
173 Return GetSystemMenu(hwnd, revert)
174 End Function
175
176 Const Function GetUpdateRect(ByRef rc As RECT, erase As Boolean) As Boolean
177 Return GetUpdateRact(hwnd, rc, erase) As Boolean
178 End Function
179
180 Const Function GetUpdateRgn(hrgn As HRGN, erase As Boolean) As Boolean
181 Return GetUpdateRgn(hwnd, hrgn, erase) As Boolean
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 Boolean
197 Return GetWindowPlasement(hwnd, wndpl) As Boolean
198 End Function
199
200 Const Function GetWindowRect(ByRef rc As RECT) As Boolean
201 Return _System_GetWindowRect(rc) As Boolean
202 End Function
203
204 Const Function GetText(ps As PSTR, maxCount As Long) As Boolean
205 Return GetWindowText(ps, maxCount) As Boolean
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 Boolean
221 Return _System_HideCaret(hwnd) As Boolean
222 End Function
223
224 Function InvalidateRect(ByRef rc As RECT, erace As Boolean) As Boolean
225 Return _System_InvalidateRect(hwnd, rc, erace) As Boolean
226 End Function
227
228 Function InvalidateRect(ByRef rc As RECT) As Boolean
229 Return _System_InvalidateRect(hwnd, rc, TRUE) As Boolean
230 End Function
231
232 Function InvalidateRgn(hrgn As HRGN, erace As Boolean) As Boolean
233 Return _System_InvalidateRgn(hwnd, hrgn, erace) As Boolean
234 End Function
235
236 Function InvalidateRgn(hrgn As HRGN) As Boolean
237 Return _System_InvalidateRgn(hwnd, hrgn, TRUE) As Boolean
238 End Function
239
240 Function Invalidate(erace As Boolean) As Boolean
241 Return _System_InvalidateRect(hwnd, ByVal 0, erace) As Boolean
242 End Function
243
244 Function Invalidate() As Boolean
245 Return _System_InvalidateRect(hwnd, ByVal 0, TRUE) As Boolean
246 End Function
247
248 Const Function IsChild(hwnd As HWND) As Boolean
249 Return IsChild(This.hwnd, hwnd) As Boolean
250 End Function
251
252 Const Function IsDialogMessage(ByRef msg As MSG) As Boolean
253 Return IsDialogMessage(hwnd, msg) As Boolean
254 End Function
255
256 Const Function IsIconic() As Boolean
257 Return _System_IsIconic(hwnd) As Boolean
258 End Function
259
260 Const Function IsWindow() As Boolean
261 Return _System_IsWindow(hwnd) As Boolean
262 End Function
263
264 Const Function IsEnabled() As Boolean
265 Return IsWindowEnabled(hwnd) As Boolean
266 End Function
267
268 Const Function IsUnicode() As Boolean
269 Return IsWindowUnicode(hwnd) As Boolean
270 End Function
271
272 Const Function IsVisible() As Boolean
273 Return IsWindowVisible(hwnd) As Boolean
274 End Function
275
276 Const Function IsZoomed() As Boolean
277 Return IsZoomed(hwnd) As Boolean
278 End Function
279
280 Function KillTimer(idEvent As ULONG_PTR) As Boolean
281 Return KillTimer(idEvent) As Boolean
282 End Function
283
284 Function LockUpdate() As Boolean
285 Return LockWindowUpdate(hwnd) As Boolean
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 Boolean) As Boolean
309 Return MoveWindow(hwnd, x, y, width, height, repaint) As Boolean
310 End Function
311
312 Function Move(x As Long, y As Long, width As Long, height As Long) As Boolean
313 Return MoveWindow(hwnd, x, y, width, height, TRUE) As Boolean
314 End Function
315
316 Function Move(ByRef rc As RECT, repeaint As Boolean) As Boolean
317 With rc
318 Return MoveWindow(hwnd, .left, .top, .right - .left, .bottom - .top, repaint) As Boolean
319 End With
320 End Function
321
322 Function Move(ByRef rc As RECT) As Boolean
323 With rc
324 Return MoveWindow(hwnd, .left, .top, .right - .left, .bottom - .top, TRUE) As Boolean
325 End With
326 End Function
327
328 Function OpenClipboard() As Boolean
329 Return OpenClipboard(hwnd) As Boolean
330 End Function
331
332 Function OpenIcon() As Boolean
333 Return OpenIcon(hwnd) As Boolean
334 End Function
335
336 Function PostMessage(msg As DWord, wp As WPARAM, lp As LPARAM) As Boolean
337 Return PostMessage(hwnd, msg, wp, lp) As Boolean
338 End Function
339
340 Function PostMessage(msg As DWord) As Boolean
341 Return PostMessage(hwnd, msg, 0, 0) As Boolean
342 End Function
343
344 Function RedrawWindow(ByRef rcUpdate As RECT, hrgnUpdate As HRGN, flags As DWord) As Boolean
345 Return RedrawWindow(hwnd, rcUpdatre, hrgnUpdate, flags) As Boolean
346 End Function
347
348 Function ReleaseDC(hdc As HDC) As Boolean
349 Return ReleaseDC(hwnd, hdc) As Boolean
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 Boolean
361 Return _System_ScreenToClient(hwnd, pt) As Boolean
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 Boolean
365 Return ScrollWindowEx(hwnd, dx, dy, rcScroll, rcClip, hrgnUpdate, rcUpdate, flags) As Boolean
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 Boolean
389 Return SetDlgItemText(hwnd, idDlgItem, psz) As Boolean
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 Boolean
405 Return SetForegroundWindow(hwnd) As Boolean
406 End Function
407
408 Function SetMenu(hmenu As HMENU) As Boolean
409 Return _System_SetMenu(hwnd, hmenu) As Boolean
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 Boolean
417 Return SetProp(hwnd, psz, hData) As Boolean
418 End Function
419
420 Function SetProp(atom As ATOM, hData As HANDLE) As Boolean
421 Return SetProp(atom As ULONG_PTR As PCSTR, hData) As Boolean
422 End Function
423
424 Function SetScrollInfo(fnBar As Long, ByRef si As SCROLLINFO, redraw As Boolean) As Boolean
425 Return SetScrollInfo(hwnd, fnBar, si, redraw) As Boolean
426 End Function
427
428 Function SetScrollInfo(fnBar As Long, ByRef si As SCROLLINFO) As Boolean
429 Return SetScrollInfo(hwnd, fnBar, si, TRUE) As Boolean
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 Boolean
441 Return SetContextHelpId(hwnd, contextHelpId) As Boolean
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 Boolean
449 Return SetWindowPlacement(hwnd, wndpl) As Boolean
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 Boolean
453 Return SetWindowPos(hwnd, hwndInsertAfter, x, y, cx, cy, flags) As Boolean
454 End Function
455
456 Function SetPos(hwndInsertAfter As HWND, ByRef rc As RECT, flags As DWord) As Boolean
457 With rc
458 Return SetWindowPos(hwnd, hwndInsertAfter, .left, .top, .right - .left, .bottom - .top, flags) As Boolean
459 End With
460 End Function
461
462 Function SetRgn(hrgn As HRGN, redraw As Boolean) As Boolean
463 Return SetWindowRgn(hwnd, hrgn, redraw) As Boolean
464 End Function
465
466 Function SetRgn(hrgn As HRGN) As Boolean
467 Return SetWindowRgn(hwnd, hrgn, TRUE) As Boolean
468 End Function
469
470 Function SetText(psz As PCSTR) As Boolean
471 Return SetWindowText(hwnd, psz) As Boolean
472 End Function
473
474 Function ShowCaret() As Boolean
475 Return _System_ShowCaret(hwnd) As Boolean
476 End Function
477
478 Function ShowScrollBar(bar As DWord, show As Boolean) As Boolean
479 Return ShowScrollBar(hwnd, bar, show) As Boolean
480 End Function
481
482 Function ShowScrollBar(bar As DWord) As Boolean
483 Return ShowScrollBar(hwnd, bar, TRUE) As Boolean
484 End Function
485
486 Function Show(cmdShow As DWord) As Boolean
487 Return ShowWindow(hwnd, cmdShow) As Boolean
488 End Function
489
490 Function ShowAsync(cmdShow As DWord) As Boolean
491 Return ShowWindowAsync(hwnd, cmdShow) As Boolean
492 End Function
493
494 Function Update() As Boolean
495 Return UpdateWindow(hwnd) As Boolean
496 End Function
497
498 Function ValidateRect(ByRef rc As RECT) As Boolean
499 Return _System_ValidateRect(hwnd, rc) As Boolean
500 End Function
501
502 Function ValidateRgn(hrgn As HRGN) As Boolean
503 Return _System_ValidateRgn(hwnd, hrgn) As Boolean
504 End Function
505
506 Function Validate() As Boolean
507 Return _System_ValidateRect(hwnd, ByVal 0) As Boolean
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 End If
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 Boolean
615 Return IsWindowEnabled(hwnd) As Boolean
616 End Function
617
618 Sub Enabled(enable As Boolean)
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 Boolean
631 Return IsIconic(hwnd) As Boolean
632 End Function
633
634 Sub Maximized(maximized As Boolean)
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 Boolean
643 Return IsIconic(hwnd) As Boolean
644 End Function
645
646 Sub Minimized(minimized As Boolean)
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 Boolean
708 Return IsVisible(hwnd) As Boolean
709 End Function
710
711 Sub Visible(visible As Boolean)
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.