2.マウスの移動範囲を限定する
< 使用用途 >
マウスの移動範囲をForm1の中だけにする。
今回のサンプルソースをダウンロードする方は下記の「ダウンロード」を!
=> ダウンロード ・・・ 下に書いてあるサンプルソースと同じです
< 説明 >
API関数のClipCursorを使用します。
サンプルでは、
コマンドボタン1を押したときに移動範囲をForm1の中だけにする。
コマンドボタン2を押したときに解除する。
ClipCursor=>移動範囲を限定する
<引数>
lpRect:Rect構造体
@戻り値@
正常終了0以外
< SAMPLE >
’フォーム内の処理です
Private Declare Function ClipCursor Lib "user32" (lpRect As Any)
As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Sub Command1_Click()
Dim AIDA As Long '横幅の内径と外形の差(フォームの)
Dim XYZ As RECT 'RECT構造体
Dim Ret As Long
’スクリーン全体の領域を確保
Ret = ClipCursor(ByVal 0&)
’間を求める
AIDA = (Width - ScaleWidth) / 2
’構造体の設定
XYZ.Left = (Left + AIDA) / Screen.TwipsPerPixelX
XYZ.Top = (Top + Height - ScaleHeight - AIDA) / Screen.TwipsPerPixelY
XYZ.Right = XYZ.Left + ScaleWidth / Screen.TwipsPerPixelX
XYZ.Bottom = XYZ.Top + ScaleHeight / Screen.TwipsPerPixelX
Ret = ClipCursor(XYZ)
End Sub
Private Sub Command2_Click()
Dim Ret As Long
Ret = ClipCursor(ByVal 0&)
End Sub