指定したデバイスコンテキストのウィンドウ原点を取得 <TOP>
GetWindowOrgEx
指定されたデバイスコンテキストのウィンドウ原点のx座標とy座標を取得
'================================================================ '= 指定したデバイスコンテキストのウィンドウ原点を取得 '= (GetWindowOrgEx.bas) '================================================================ #include "Windows.bi" Type POINTAPI x As Long y As Long End Type ' 指定されたデバイスコンテキストのウィンドウ原点のx座標とy座標を取得 Declare Function Api_GetWindowOrgEx& Lib "gdi32" Alias "GetWindowOrgEx" (ByVal hDC&, lpPoint As POINTAPI) ' 指定のデバイスコンテキストの論理座標基準点の座標を設定 Declare Function Api_SetWindowOrgEx& Lib "gdi32" Alias "SetWindowOrgEx" (ByVal hDC&, ByVal nX&, ByVal nY&, lpPoint As POINTAPI) ' 指定されたウィンドウのデバイスコンテキストのハンドルを取得 Declare Function Api_GetDC& Lib "user32" Alias "GetDC" (ByVal hWnd&) ' デバイスコンテキストを解放 Declare Function Api_ReleaseDC& Lib "user32" Alias "ReleaseDC" (ByVal hWnd&, ByVal hDC&) Var Shared Text1 As Object Var Shared Button1 As Object Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14 Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var pa As POINTAPI Var hDC As Long Var Ret As Long hDC = Api_GetDC(GethWnd) 'ウィンドウ原点のx座標とy座標を取得 Ret = Api_GetWindowOrgEx(hDC, pa) Text1.SetWindowText "x =" & Str$(pa.x) & " / y =" & Str$(pa.y) Ret = Api_ReleaseDC(GethWnd, hDC) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End