- Timestamp:
- Oct 18, 2008, 5:55:42 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/ablib/src/Classes/ActiveBasic/Windows/UI/Control.ab
r637 r646 37 37 @brief HWNDからControlインスタンスを取得する。 38 38 @param[in] hwnd 対象のウィンドウハンドル 39 @return 対応するControlインスタンス。 ただし、存在しなければNothing。39 @return 対応するControlインスタンス。存在しなければ作成される。ただし、hwndがNULLならNothing。 40 40 */ 41 41 Static Function FromHWnd(hwnd As HWND) As Control 42 42 FromHWnd = Nothing 43 If _System_IsWindow(hwnd) Then43 If IsWindow(hwnd) Then 44 44 FromHWnd = FromHWndCore(hwnd) 45 If ActiveBasic.IsNothing(FromHWnd) Then 46 Dim lock = New ActiveBasic.Windows.CriticalSectionLock(_System_CriticalSection) 47 Try 48 FromHWnd = New Control 49 FromHWnd.registerStandardEvent() 50 FromHWnd.AssociateHWnd(hwnd) 51 Finally 52 lock.Dispose() 53 End Try 54 End If 45 55 End If 46 56 End Function … … 104 114 105 115 Protected 106 Abstract Sub GetCreateStruct(ByRef cs As CREATESTRUCT) 116 Virtual Sub GetCreateStruct(ByRef cs As CREATESTRUCT) 117 End Sub 107 118 108 119 Sub createImpl(ByRef cs As CREATESTRUCT, parent As Control) … … 131 142 132 143 Public 144 /* 133 145 Sub Attach(hwndNew As HWND) 134 146 throwIfAlreadyCreated() … … 139 151 AssociateHWnd(hwndNew) 140 152 End Sub 141 153 */ 142 154 Sub BeginSubclass() 143 155 throwIfNotCreated() 144 prevWndProc = SetWindowLongPtr( GWLP_WNDPROC, AddressOf(WndProcFirst) As LONG_PTR) As WNDPROC156 prevWndProc = SetWindowLongPtr(hwnd, GWLP_WNDPROC, AddressOf(WndProcFirst) As LONG_PTR) As WNDPROC 145 157 End Sub 146 158 … … 305 317 Else 306 318 Dim ps As PAINTSTRUCT 307 BeginPaint( ps)319 BeginPaint(hwnd, ps) 308 320 Try 309 321 OnPaintDC(New PaintDCArgs(ps.hdc, ps.rcPaint)) 310 322 Finally 311 EndPaint( ps)323 EndPaint(hwnd, ps) 312 324 End Try 313 325 End If
Note:
See TracChangeset
for help on using the changeset viewer.