Ignore:
Timestamp:
Jul 13, 2008, 11:54:55 PM (16 years ago)
Author:
イグトランス (egtra)
Message:

Applicationクラスの追加

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/ablib/src/Classes/ActiveBasic/Windows/UI/WindowHandle.sbp

    r545 r547  
    3131Declare Function _System_IsWindow Lib "user32" Alias "IsWindow" (hWnd As HWND) As BOOL
    3232Declare Function _System_IsIconic Lib "user32" Alias "IsIconic" (hWnd As HWND) As BOOL
    33 Declare Function _System_GetClientRect Lib "user32" Alias "GetClientRect" (hWnd As HWND, ByRef Rect As RECT) As BOOL
    34 Declare Function _System_GetProp Lib "user32" Alias _FuncName_GetProp (hWnd As HWND, pString As PCTSTR) As HANDLE
    35 Declare Function _System_SetProp Lib "user32" Alias _FuncName_SetProp (hWnd As HWND, pString As PCTSTR, hData As HANDLE) As BOOL
    3633Declare Function _System_GetClassName Lib "user32" Alias _FuncName_GetClassName (hWnd As HWND, lpClassName As PTSTR, nMaxCount As Long) As Long
    3734Declare Function _System_GetScrollInfo Lib "user32" Alias "GetScrollInfo" (hWnd As HWND, fnBar As Long, ByRef lpsi As SCROLLINFO) As BOOL
     
    6966        Return hwnd
    7067    End Function
    71 
     68/*
     69    Static Function FromHWnd(hwnd As HWND) As WindowHandle
     70        FromHWnd = Control.FromHWnd(hwnd)
     71        If IsNothing(FromHWnd) Then
     72            FromHWnd = New WindowHandle(hwnd)
     73        End If
     74    End Function
     75*/
    7276    Function BringToTop() As Boolean
    7377        Return BringWindowToTop(hwnd) As Boolean
     
    7680    Function BeginPaint(ByRef ps As PAINTSTRUCT) As HDC
    7781        Return _System_BeginPaint(hwnd, ps)
     82    End Function
     83
     84    Function BeginPaint() As PAINTSTRUCT
     85        _System_BeginPaint(hwnd, BeginPaint)
    7886    End Function
    7987/*
     
    139147    End Function
    140148
    141     Const Function GetClientRect(ByRef rc As RECT) As Boolean
    142         Return _System_GetClientRect(hwnd, rc) As Boolean
    143     End Function
    144149/*
    145150    Const Function GetContextHelpId() As DWord
     
    175180    End Function
    176181*/
    177     Const Function GetProp(str As String) As HANDLE
    178         Return _System_GetProp(hwnd, ToTCStr(str))
    179     End Function
    180 
    181     Const Function GetProp(psz As PCTSTR) As HANDLE
    182         Return _System_GetProp(hwnd, psz)
    183     End Function
    184 
    185     Const Function GetProp(atom As ATOM) As HANDLE
    186         Return _System_GetProp(hwnd, atom As ULONG_PTR As PCTSTR)
    187     End Function
    188 
    189182    Const Function GetScrollInfo(fnBar As Long, ByRef si As SCROLLINFO) As Boolean
    190183        Return _System_GetScrollInfo(hwnd, fnBar, si) As Boolean
     
    219212    End Function
    220213*/
    221     Const Function GetWindowRect(ByRef rc As RECT) As Boolean
    222         Return _System_GetWindowRect(hwnd, rc) As Boolean
    223     End Function
    224 
    225214    Const Function GetText(ps As PTSTR, maxCount As Long) As Boolean
    226215        Return GetWindowText(hwnd, ps, maxCount) As Boolean
    227     End Function
    228 
    229     Const Function GetTextLength() As Long
    230         Return GetWindowTextLength(hwnd)
    231     End Function
    232 
    233     Const Function GetWindowThreadId() As DWord
    234         Return _System_GetWindowThreadProcessId(hwnd, 0)
    235216    End Function
    236217
     
    444425    End Function
    445426
    446     Function SetProp(str As String, hData As HANDLE) As Boolean
    447         Return _System_SetProp(hwnd, ToTCStr(str), hData) As Boolean
    448     End Function
    449 
    450     Function SetProp(psz As PCTSTR, hData As HANDLE) As Boolean
    451         Return _System_SetProp(hwnd, psz, hData) As Boolean
    452     End Function
    453 
    454     Function SetProp(atom As ATOM, hData As HANDLE) As Boolean
    455         Return This.SetProp((atom As ULONG_PTR) As PCTSTR, hData) As Boolean
    456     End Function
    457 
    458427    Function SetScrollInfo(fnBar As Long, ByRef si As SCROLLINFO, redraw As Boolean) As Boolean
    459428        Return _System_SetScrollInfo(hwnd, fnBar, si, redraw) As Boolean
     
    502471    End Function
    503472
    504     Function SetText(psz As PCTSTR) As Boolean
    505         Return SetWindowText(hwnd, psz) As Boolean
    506     End Function
    507 
    508     Function SetText(str As String) As Boolean
    509         Return SetWindowText(hwnd, ToTCStr(str)) As Boolean
    510     End Function
    511 
    512473    Function ShowCaret() As Boolean
    513474        Return _System_ShowCaret(hwnd) As Boolean
     
    546507    End Function
    547508
    548     ' Get/SetWindowLongPtr Wrappers
    549 
    550     Const Function GetExStyle() As DWord
    551         Return _System_GetWindowLongPtr(hwnd, GWL_EXSTYLE) As DWord
    552     End Function
    553 
    554     Const Function GetStyle() As DWord
    555         Return _System_GetWindowLongPtr(hwnd, GWL_STYLE) As DWord
    556     End Function
    557 #ifdef _UNDEF
    558     Const Function GetWndProc() As WNDPROC
    559         Return _System_GetWindowLongPtr(hwnd, GWLP_WNDPROC) As WNDPROC
    560     End Function
    561 #endif
    562     Const Function GetInstance() As HINSTANCE
    563         Return _System_GetWindowLongPtr(hwnd, GWLP_HINSTANCE) As HINSTANCE
    564     End Function
    565 
    566     Const Function GetUserData() As LONG_PTR
    567         Return _System_GetWindowLongPtr(hwnd, GWLP_USERDATA)
    568     End Function
    569 
    570     Function SetExStyle(style As DWord) As DWord
    571         Return _System_SetWindowLongPtr(hwnd, GWL_EXSTYLE, style) As DWord
    572     End Function
    573 
    574     Function SetStyle(style As DWord) As DWord
    575         Return _System_SetWindowLongPtr(hwnd, GWL_STYLE, style) As DWord
    576     End Function
    577 #ifdef _UNDEF
    578     Function SetWndProc(wndProc As WNDPROC) As WNDPROC
    579         Return _System_SetWindowLongPtr(hwnd, GWLP_WNDPROC, wndProc As WNDPROC) As WNDPROC
    580     End Function
    581 #endif
    582     Function SetUserData(value As LONG_PTR) As LONG_PTR
    583         Return _System_SetWindowLongPtr(hwnd, GWLP_USERDATA, value As LONG_PTR)
    584     End Function
    585 
    586509    ' Propaties
    587510
    588511    Const Function ClientRect() As RECT
    589         _System_GetClientRect(hwnd, ClientRect)
     512        GetClientRect(hwnd, ClientRect)
    590513    End Function
    591514#ifdef _UNDEF
     
    717640
    718641    Const Function Prop(str As String) As HANDLE
    719         Return GetProp(str)
     642        Return GetProp(hwnd, ToTCStr(str))
    720643    End Function
    721644
    722645    Const Function Prop(psz As PCTSTR) As HANDLE
    723         Return GetProp(psz)
     646        Return GetProp(hwnd, psz)
    724647    End Function
    725648
    726649    Const Function Prop(atom As ATOM) As HANDLE
    727         Return GetProp(atom)
    728     End Function
     650        Return GetProp(hwnd, atom As ULONG_PTR As PCTSTR)
     651    End Function
     652
     653    Sub Prop(str As String, hData As HANDLE)
     654        SetProp(hwnd, ToTCStr(str), hData)
     655    End Sub
    729656
    730657    Sub Prop(str As PCTSTR, h As HANDLE)
    731         SetProp(str, h)
     658        SetProp(hwnd, str, h)
    732659    End Sub
    733660
    734661    Sub Prop(atom As ATOM, h As HANDLE)
    735         SetProp(atom, h)
     662        SetProp(hwnd, atom As ULONG_PTR As PCTSTR, h)
    736663    End Sub
    737664
    738665    Const Function Text() As String
    739666        Dim size = GetWindowTextLength(hwnd) + 1
    740         Dim p = GC_malloc_atomic(SizeOf (TCHAR) * size) As PTSTR
    741         Dim length = GetWindowText(hwnd, p, size)
    742         Text = New String(p, length As Long)
     667        Dim sb = New System.Text.StringBuilder(size)
     668        sb.Length = size
     669        Dim length = GetWindowText(hwnd, StrPtr(sb), size)
     670        Text = sb.ToString
    743671    End Function
    744672
Note: See TracChangeset for help on using the changeset viewer.