- PR -

ピクチャボックスにマウスが入るときのマウスの位置を知る方法

投稿者投稿内容
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2006-09-06 17:08
引用:

ちびんぼさんの書き込み (2006-09-06 16:44) より:
引用:
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.ja/CPref17/html/P_System_Windows_Forms_Control_MousePosition.htm
でのControl.MousePositionは、
「マウス カーソルの位置を画面座標で取得します。」ですが?


ん?ヘルプを「イベント, マウス」で検索しました?
「Windows フォームにおけるマウス イベント」ってページに、大体やり方が書いてあると思うのですが・・・

違うページが出てくるんでしたらMSDN2で検索してみて下さい。
そっちでも出てきますので。


http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.mouseeventargs.location.aspx
でしょうか?
すみませんが、また時間のあるときに確認したいと思います。
ペンちゃん
ベテラン
会議室デビュー日: 2006/08/04
投稿数: 61
投稿日時: 2006-09-06 17:29
引用:

引用:
ちびんぼさんの書き込み (2006-09-06 16:44) より:

ん?ヘルプを「イベント, マウス」で検索しました?
「Windows フォームにおけるマウス イベント」ってページに、大体やり方が書いてあると思うのですが・・・


http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.mouseeventargs.location.aspx
でしょうか?
すみませんが、また時間のあるときに確認したいと思います。



ちびんぼさんがわざわざページ名まで挙げてくれているのですから、MSDN2で「Windows フォームにおけるマウス イベント」を検索すれば済むだけの話だと思うのですが。

横槍とは思いましたが、正解のページに行き着くまで「このページですか?」と不毛な質問が続きそうだったので投稿しました。

余計なお世話とは思いますが、「時間がない」とか「また今度にします」とかは要らない情報な気がします。
この掲示板を見ている第三者にとって、kojiro_i619さん自身の状況を書かれても問題解決のお役には立たないと思いますので。
返答が遅くなるという意味であれば次に書き込むときに謝罪すればいいだけの話だと思いますよ^^

# 本題とは関係ない部分はスルーされちゃうんでしょうけど^^;
ちびんぼ
会議室デビュー日: 2006/08/02
投稿数: 10
お住まい・勤務地: 千葉県・東京都江東区
投稿日時: 2006-09-06 17:36
引用:
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.mouseeventargs.location.aspx
でしょうか?
すみませんが、また時間のあるときに確認したいと思います。


自分の言ってるページとは違うようです。
MSDN内の検索条件に「イベント, マウス」と入力すると、
「Windows フォームにおけるマウス イベント」ってタイトルのページが引っかかると思います。
そこの事を言っています。

あと分からない事があった場合は、とりあえず上記で示したページ内でも検索してみたらいいと思います。
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2006-09-07 10:43
[quote]
ちびんぼさんの書き込み (2006-09-06 17:36) より:
引用:
自分の言ってるページとは違うようです。
MSDN内の検索条件に「イベント, マウス」と入力すると、
「Windows フォームにおけるマウス イベント」ってタイトルのページが引っかかると思います。
そこの事を言っています。


詳しく、情報ありがとうございます。PointToClientメソッドのことかと思います。
P_X = Control.MousePosition.X
P_Y = Control.MousePosition.Y
Me.picturelocation = Me.PointToClient(New Point(P_X, P_Y))
としましたが、マウスクリック時に得られる(e.x,e.y)とは、特にY座標がピクチャボックス内のY座標と違うようなのですが?
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2006-09-07 10:54
自分のプロジェクトそのものを、修正して、MouseEnterやMoseLeaveの時には、Booleanの変数のみを使って、MouseMoveのときに、e.x,e.yが得られますので、それで対処したいと思います。
みなさん、一応ありがとうございました。
ペンちゃん
ベテラン
会議室デビュー日: 2006/08/04
投稿数: 61
投稿日時: 2006-09-07 10:59
解決したようでおめでとうございます。

引用:

kojiro_i619さんの書き込み (2006-09-07 10:54) より:
みなさん、一応ありがとうございました。



回答をしてくださった方々に対して「一応」は流石に失礼かと・・・。
ズバリ答えの回答が得られなかったからなのかもですけど、
そんな回答をご希望であればここで質問せずにお金を出して技術者を雇うなり外注するなりすることをお勧めします。

ご自分で考えている時間がほとんどないように思えましたので。
ちびんぼ
会議室デビュー日: 2006/08/02
投稿数: 10
お住まい・勤務地: 千葉県・東京都江東区
投稿日時: 2006-09-07 11:34
引用:
P_X = Control.MousePosition.X
P_Y = Control.MousePosition.Y
Me.picturelocation = Me.PointToClient(New Point(P_X, P_Y))
としましたが、マウスクリック時に得られる(e.x,e.y)とは、特にY座標がピクチャボックス内のY座標と違うようなのですが?


解決したようですが、自分の提示した方法とは異なるようなので、一応補足までに・・・

上記の書き方は、Formの左上を原点とした座標を得る為の書き方だと思います。
PointToClientはコントロールクラスのメソッドってヘルプに書いてありますよね?
ですのでPictureBoxの左上を原点とした座標を得たいのだったら、
Formで変換するのではなくて、PictureBoxで変換したらいいと思います。

#以下、独り言:
ちなみにMouseEnterイベントで座標を取得するように作ってみたのですが、
ある程度勢いをつけてマウスカーソルをPictureBoxに入れると、少しずれた位置の座標が取得されてしまいました。。。
マウスカーソルがコントロールに入ったときの正確な位置って、取得出来るもんなのですかね?
今度調べてみるかな・・・
未記入X
大ベテラン
会議室デビュー日: 2005/05/19
投稿数: 136
投稿日時: 2006-09-07 11:41
こんにちは
引用:

kojiro_i619さんの書き込み (2006-09-07 10:54) より:
自分のプロジェクトそのものを、修正して、MouseEnterやMoseLeaveの時には、Booleanの変数のみを使って、MouseMoveのときに、e.x,e.yが得られますので、それで対処したいと思います。
みなさん、一応ありがとうございました。



これ以外の書き込みを見ても、全く進歩してないですね。

だめだこりゃ。

#失礼極まりない書き込みをしていることに気が付いていますか?
#レスつけてくれる人がどんどん減っていることに気が付いていますか?

スキルアップ/キャリアアップ(JOB@IT)