アプリ版:「スタンプのみでお礼する」機能のリリースについて

解像度の大きな画像ファイルを、小さなPictureBoxに読み込んだあと、虫眼鏡的に画像をマウスドラッグでスライドさせて、大きな画像の全領域を参照するようなもの(地図ソフトのようなイメージ)を作りたいのですが、PictureBoxにそのような機能はあるのでしょうか?

A 回答 (2件)

フォーム上に任意のパネルを配置して、その中にPictureBoxを入れて下さい。


その上で、下記のようなコードを書けばお望みの物になりませんでしょうか?

dim bDrag as Boolean, ptDrag as Point

Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
If bDrag = False Then
bDrag = True
ptDrag = e.Location
End If
End Sub

Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp
Me.PictureBox1.Location = e.Location - ptDrag
bDrag = False
End Sub

// コードは紹介されているものにちょっとだけ手を加えて簡略化したものです。

この回答への補足

御回答ありがとう御座います。まさにこの事です。
お恥ずかしながらパネルの機能を知りませんでした・・・

この度はありがとう御座いました。

補足日時:2009/09/09 16:34
    • good
    • 1
この回答へのお礼

遅くなりまして申し訳御座いません。
何とか解決の糸口が見えました。
この度は有難う御座いました。

お礼日時:2010/07/23 09:42

VB 6.0 なのか VB.NET なのかわかりませんが、VB.NET なら過去に同じ質問がありました。


http://oshiete1.watch.impress.co.jp/qa5248510.html

この回答への補足

こんにちは。ご回答ありがとう御座います。

ご指摘にあります通り、以前の回答内容につきましては
私も参照させていただいておりましたが、こちらの例では
AutoSize指定されたPictureBoxをフォームの大きさ目一杯を使って
Locationプロパティを変更してずらして表示させる方法だと思います。
つまり虫眼鏡になる部分がフォームそのものとなります。

今回の場合は、あるフォーム上のPictureBoxの大きさや表示場所(座標)を
変えることなく、表示内容だけドラッグで移動したいと考えております。
つまり虫眼鏡になる部分がフォームではなくPictureBoxとなります。

やはりつらいでしょうか・・・

補足日時:2009/09/08 14:26
    • good
    • 0
この回答へのお礼

遅くなりまして申し訳御座いません。
何とか解決の糸口が見えました。
この度は有難う御座いました。

お礼日時:2010/07/23 09:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!