tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルマウスが上下左右どちらに動いているかだけ知りたい
記事No11031
投稿日: 2007/12/29(Sat) 13:02
投稿者うさぎY
ピクチャーボックス上で表示画像をスクロールバーを使って
上下左右に動かすことはできたのですが

それをいかしつつ、マウスでも上下左右に「現在位置」から
移動できるようにしようと思いつまづいています。

使い方としては、現在表示されている画像の表示位置微調整のために
作ろうと思い マウスの上下左右の動きに合わせて スクロールバーの値を
少しだけ増減させようと思っています
自分で考えがまとまったのはMouseMoveを使うようにして

Private Sub ViewPicture_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)


If Button = 1 Then '左クリック時

  If マウスが右へ動いたなら(xの値が増えているなら) Then
  HScroll1.Value = HScroll1.Value + 10 '右へ10動かす
  Else
  HScroll1.Value = HScroll1.Value - 10 '左へ10動かす
  End If

  If マウスが下へ動いたなら(yの値が増えているなら) Then
  VScroll1.Value = VScroll1.Value + 10 '上へ10動かす
  Else
  VScroll1.Value = VScroll1.Value - 10 '下へ10動かす
  End If

以下省略

と言うところまでで、ifの日本語で書いている部分が
どう書けばいいか分かりません。

xやyの値はマウスが動いている間中、随時変化しているので、
それが増えていっているのか減っていっているのかを調べればいい
と思うのですが、ドラッグアンドドロップでの作業なら
ドラッグ時の座標とドロップ時の座標で変化がつかめるのですが
今回は左クリックしている間中、画像を随時動かしたいので
何か良い方法はないかと思っています。

参考資料や考え方などありましたら教えていただけたらと思っています
よろしくお願いします

[ツリー表示へ]
タイトルRe: マウスが上下左右どちらに動いているかだけ知りたい
記事No11032
投稿日: 2007/12/29(Sat) 13:14
投稿者これ
> xやyの値はマウスが動いている間中、随時変化しているので、
> それが増えていっているのか減っていっているのかを調べればいい
> と思うのですが、ドラッグアンドドロップでの作業なら
> ドラッグ時の座標とドロップ時の座標で変化がつかめるのですが
> 今回は左クリックしている間中、画像を随時動かしたいので
> 何か良い方法はないかと思っています。

こんにちは。
その考え方でいいのでは?
通常は MouseDownイベントでクリック時点のX-Y座標を保存し
保存座標と現在値の比較をします

[ツリー表示へ]
タイトルRe^2: マウスが上下左右どちらに動いているかだけ知りたい
記事No11037
投稿日: 2008/01/01(Tue) 00:30
投稿者うさぎY
> 通常は MouseDownイベントでクリック時点のX-Y座標を保存し
> 保存座標と現在値の比較をします

そうでした、その通りですよね
マウスダウンプロパティーがありました。

まだまだ頭を柔らかくしないといけませんね。
1つで考えようとするから難しくなってしまいます。

アドバイスありがとうございます。
がんばります

[ツリー表示へ]