- PR -

VB2005のピクチャボックスでの画像ファイルの座標取得

投稿者投稿内容
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2006-09-04 14:30
ひとまず、件名については、解決しました。ぶさいくろうさん、さかもとさん、その他の皆さん、ありがとうございました。厚くお礼申し上げます。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2006-09-04 17:57
引用:
Windows.Forms.Cursor.Positionの意味が分かりません。

私のはったMSDNを見ても、いろいろ実験してもわからなかったということですか(してないかな)。
普通は、ディスプレイの左上からの、その時点でカーソルがある位置、と考えればいいと思います。

引用:
の値で、ピクチャボックス左上を慎重に、クリックした場合
202,273で縦が大きく一致しませんのは、なぜでしょうか?

異なる値だから。「カーソルの画面位置と」「Formの画面位置+PictureBox内のクリックした位置」が
等しいとは限らないですよね。PictureBoxがFormの左上にぴったりくっついていれば
大体同じになると思いますが。それでもタイトルバーとかあるし。
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2006-09-05 09:52
p_x = Me.Location.X
p_y = Me.Location.Y
MessageBox.Show(p_x, "", MessageBoxButtons.OK)
MessageBox.Show(p_y, "", MessageBoxButtons.OK)

p_x = Me.Location.X + PictureBox1.Location.X
p_y = Me.Location.Y + PictureBox1.Location.Y
MessageBox.Show(p_x, "", MessageBoxButtons.OK)
MessageBox.Show(p_y, "", MessageBoxButtons.OK)

value = Windows.Forms.Cursor.Position
MessageBox.Show(e.X, "", MessageBoxButtons.OK)
MessageBox.Show(e.Y, "", MessageBoxButtons.OK)
MessageBox.Show(value.X - Cursor.Size.Width, "", MessageBoxButtons.OK)
MessageBox.Show(value.Y - Cursor.Size.Height, "", MessageBoxButtons.OK)
MessageBox.Show(Cursor.Size.Width, "", MessageBoxButtons.OK)
MessageBox.Show(Cursor.Size.Height, "", MessageBoxButtons.OK)
MessageBox.Show(value.X, "", MessageBoxButtons.OK)
MessageBox.Show(value.Y, "", MessageBoxButtons.OK)
とした場合、
154,203
197,243
2,1
171,242
32,32
203,274
です。もしcursor.positionが、その時のマウスの位置のx座標とマウスの位置のy座標+マウスの縦の長さ、とすると
y座標は、274-32=242で、243+1=244にならない。x座標も、203で197+2=199にならない。
べるさんのおっしゃるように、e.x,e.yの値と、Me.Location、PictureBox1.Location、Windows.Forms.Cursor.Positionの座標系は異なると考えるしかないのでしょうか?
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2006-09-05 10:25
考えてみれば、ピクチャボックスや、テキストボックスは大きさが変わるもので、コントロールの座標系とは別であるのは、当然ですね。
末記入
常連さん
会議室デビュー日: 2006/09/05
投稿数: 23
投稿日時: 2006-09-05 11:17
まだ続いてたの?すげーなー(笑
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-09-10 13:20
http://rd.vector.co.jp/vpack/browse/person/an043035.html

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