|
■No14994 (ken さん) に返信
> 渋木宏明(ひどり) さん
> button.clickで、
> Me.Capture=Trueとし、
>
> Me.MouseDownで、
> Me.TextBox1.Text &= "Mouse Down"
> として、デスクトップ上でドラッグ&ドラックをしたのですが、
> 最初にマウスを押した瞬間に、MouseDownとMouseUpが動作してしまうようで、
だから、MouseDownの位置は(Form1の外でも)検出できますネ
その後で、
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim loc1 As Point = Form1.MousePosition 'Windows.Forms.Cursor.Position
Dim butn1 As Windows.Forms.MouseButtons = Form1.MouseButtons
Label1.Text = "mov x=" & loc1.X.ToString & " y=" & loc1.Y.ToString _
& " btns=" & butn1.ToString
End Sub
とTimer1を使ってみたら、Form1外でも位置とボタンは検出できてますVB2005EE
もっと賢い方法があるのかも・・・
午前に示したイベント(フック)よりは、はるかにコードが簡単そうです。
>でもキャンセルできないよ?
キャンセルは、右ボタン・・・とか。
|