- ベストアンサー
Active Basic枠無しウインドウをマウスで移動させる
- 枠なしのウインドウをマウスで移動させる方法を教えてください
- Active Basicの非公式WIKIが復活しないか知りたいです
- ご教授いただける方がいらっしゃいましたら、よろしくお願いします
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
マウスボタンを押したときのX/Y座標を記憶しておいて MouseMoveに来た時点引数のX/Yと差分を計算し この値をScreen座標に変換してから SetWindowPosに与えましょう 'グローバル変数 dim pt as POINTAPI Dim LClickFlag As Long Sub MainWnd_LButtonDown(flags As Long, x As Integer, y As Integer) if LClickFlag=FALSE then LClickFlag=TRUE pt.x = x pt.y = y end if End Sub Sub MainWnd_LButtonUp(flags As Long, x As Integer, y As Integer) if LClickFlag=TRUE then LClickFlag=FALSE end if End Sub Sub MainWnd_MouseMove(flags As Long, x As Integer, y As Integer) If LClickFlag=TRUE Then dim ptScr as POINTPAI ptScr.x = x - pt.x ptScr.y = y - pt.y ClientToScreen( hMainWnd, ptSrc ) SetWindowPos(hMainWnd,NULL,ptSrc.x,ptSrc.y,0,0,SWP_NOSIZE) End If End Sub といった具合です