Index: trunk/Include/Classes/System/Windows/Forms/Control.ab
===================================================================
--- trunk/Include/Classes/System/Windows/Forms/Control.ab	(revision 300)
+++ trunk/Include/Classes/System/Windows/Forms/Control.ab	(revision 303)
@@ -4,5 +4,4 @@
 #define __SYSTEM_WINDOWS_FORMS_CONTROL_AB__
 
-#require <windows/WindowHandle.sbp>
 #require <Classes/System/Windows/Forms/misc.ab>
 #require <Classes/System/Windows/Forms/CreateParams.ab>
@@ -17,4 +16,5 @@
 #require <Classes/System/Drawing/Rectangle.ab>
 #require <Classes/System/Runtime/InteropServices/GCHandle.ab>
+#require <Classes/ActiveBasic/Windows/WindowHandle.sbp>
 #require <Classes/ActiveBasic/Strings/Strings.ab>
 
@@ -44,5 +44,5 @@
 
 	Override Function CompletedSynchronously() As Boolean
-		Return FALSE
+		Return False
 	End Function
 
@@ -74,4 +74,5 @@
 
 Class Control
+
 '	Inherits IWin32Window
 Public
@@ -80,4 +81,19 @@
 	Function AllowDrop() As Boolean
 	End Function
+
+	'Anchor
+	'AutoScrollOffset 
+	'AutoSize
+	'BackColor下
+	'BackgroundImage
+	'BackgroundImageLayout
+	'-BindingContext
+	'Bottom 下
+	'Bounds 下
+	'CanFocus
+	'CanSelect
+	'Capture
+	'-CausesValidation
+	'CheckForIllegalCrossThreadCalls
 
 	/*Override*/ Function Handle() As HWND
@@ -201,19 +217,19 @@
 		Return b.Top + b.Height
 	End Function
-
+/*
 	Const Function PointToScreen(p As Point) As Point
 		PointToScreen = New Point
-		ret.X = p.X
-		ret.Y = p.Y
-		wnd.ClientToScreen(ByVal VarPtr(PointToScreen) As *POINTAPI)
+		PointToScreen.X = p.X
+		PointToScreen.Y = p.Y
+		wnd.ClientToScreen(ByVal ObjPtr(PointToScreen) As *POINTAPI)
 	End Function
 
 	Const Function PointToClient(p As Point) As Point
 		PointToScreen = New Point
-		ret.X = p.X
-		ret.Y = p.Y
-		wnd.ScreenToClient(ByVal VarPtr(PointToScreen) As *POINTAPI)
-	End Function
-
+		PointToClient.X = p.X
+		PointToClient.Y = p.Y
+		wnd.ScreenToClient(ByVal ObjPtr(PointToClient) As *POINTAPI)
+	End Function
+*/
 	Const Function RectangleToScreen(r As Rectangle) As Rectangle
 		Dim rc = r.ToRECT
@@ -223,6 +239,5 @@
 
 	Const Function RectangleToClient(r As Rectangle) As Rectangle
-		Dim rc As RECT
-		rc = r.ToRECT()
+		Dim rc = r.ToRECT()
 		wnd.ScreenToClient(rc)
 		Return New Rectangle(rc)
@@ -230,5 +245,5 @@
 
 	Const Function InvokeRequired() As Boolean
-		Return wnd.ThreadID <> GetCurrentThreadId()
+		Return wnd.ThreadId <> GetCurrentThreadId()
 	End Function
 
@@ -239,6 +254,5 @@
 	Virtual Sub BackColor(c As Color)
 		c = bkColor
-		Dim e As EventArgs
-		OnBackColorChanged(e)
+		OnBackColorChanged(New EventArgs)
 	End Sub
 
@@ -248,5 +262,5 @@
 
 	Const Function IsHandleCreated() As Boolean
-		Return wnd.HWnd <> 0
+		Return wnd.HWnd <> 0 Or IsWindow(wnd.HWnd) <> FALSE
 	End Function
 
@@ -259,4 +273,5 @@
 
 	Sub Control()
+		Debug
 		Dim sz = DefaultSize()
 		Control("", 100, 100, sz.Width, sz.Height)
@@ -279,5 +294,5 @@
 
 	Sub Control(parent As Control, text As String, left As Long, top As Long, width As Long, height As Long)
-		This.parent = VarPtr(parent)
+		This.parent = parent
 		Control(text, left, top, width, height)
 	End Sub
@@ -296,5 +311,5 @@
 	'---------------------------------------------------------------------------
 	' Public Methods
-
+/*
 	' 同期関数呼出、Controlが作成されたスレッドで関数を実行する。
 	' 関数は同期的に呼び出されるので、関数が終わるまでInvokeは制御を戻さない。
@@ -317,5 +332,5 @@
 		Dim gch = System.Runtime.InteropServices.GCHandle.Alloc(asyncInvokeData)
 		wnd.PostMessage(WM_CONTROL_BEGININVOKE, 0, System.Runtime.InteropServices.GCHandle.ToIntPtr(gch))
-		Return pAsyncResult
+		Return asyncResult
 	End Function
 
@@ -327,5 +342,5 @@
 		Return arInvoke.Result
 	End Function
-
+*/
 	' 与えられたウィンドウハンドルがControl（若しくはその派生クラス）の
 	' インスタンスに対応するものであった場合、
@@ -360,4 +375,5 @@
 
 	Sub Show()
+		Debug
 		wnd.Show(SW_SHOW)
 	End Sub
@@ -396,6 +412,6 @@
 	Virtual Sub CreateHandle()
 		Dim createParams = CreateParams()
-		Dim gch = GCHandle.Alloc(This)
-		TlsSetValue(tlsIndex, GCHandle.ToIntPtr(gch) As VoidPtr)
+		Dim gch = System.Runtime.InteropServices.GCHandle.Alloc(This)
+		TlsSetValue(tlsIndex, System.Runtime.InteropServices.GCHandle.ToIntPtr(gch) As VoidPtr)
 		With createParams
 			Dim hwndParent = 0 As HWND
@@ -516,5 +532,5 @@
 Private
 	' Member variables
-	wnd As WindowHandle
+	wnd As ActiveBasic.Windows.WindowHandle
 	text As String
 	parent As Control
@@ -590,5 +606,5 @@
 				ExitThread(-1)
 			End If
-			rThis.wnd = New WindowHandle(hwnd)
+			rThis.wnd = New ActiveBasic.Windows.WindowHandle(hwnd)
 			SetWindowLongPtr(hwnd, GWLP_THIS, gchValue)
 		End If
