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





API 技術関連のページへ戻る

ホーム PV ランキング