tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルピクチャボックスのサイズ変更
記事No9886
投稿日: 2010/02/19(Fri) 14:19
投稿者はてなん
またお世話になります。

ラベルを利用したサイズ変更法はサンプルコードを見つけ、動作も確認しました。
そこで疑問に思ったのですが、他のコントロールを使わずに、
ピクチャーボックスのみでサイズ変更をする方法は無いのでしょうか?

ちなみに、調べてみましたが、やり方が見つかりませんでした。

よろしくお願いします。

[ツリー表示へ]
タイトルRe: ピクチャボックスのサイズ変更
記事No9887
投稿日: 2010/02/19(Fri) 14:25
投稿者魔界の仮面弁士
> ラベルを利用したサイズ変更法はサンプルコードを見つけ、動作も確認しました。
「ラベルを利用したサイズ変更法」というのが何を指しているのか不明ですが、
「ピクチャボックスのサイズ変更」と関係ある内容だったのでしょうか?


> そこで疑問に思ったのですが、他のコントロールを使わずに、
> ピクチャーボックスのみでサイズ変更をする方法は無いのでしょうか?
ピクチャーボックスのみで、何をサイズ変更するのでしょうか?

・表示させている画像のサイズに応じて、PictureBox のサイズを変更したい。
・PictureBox のサイズに応じて、画像を拡大/縮小表示したい。
・開発環境のように、ドラッグ操作で PictureBox のサイズを変更したい。
・プログラムから、PictureBox のサイズを、縦○ピクセル/横○ピクセルにしたい。
・その他

[ツリー表示へ]
タイトルRe^2: ピクチャボックスのサイズ変更
記事No9888
投稿日: 2010/02/19(Fri) 14:37
投稿者はてなん
説明が不十分すぎたようですね。

やりたいのは

> ・開発環境のように、ドラッグ操作で PictureBox のサイズを変更したい。

です。


> 「ラベルを利用したサイズ変更法」というのが何を指しているのか不明ですが

このサイトのサンプルにあります。
ペイントのキャンパスのようにサイズを変えられるものです。

[ツリー表示へ]
タイトルRe: ピクチャボックスのサイズ変更
記事No9890
投稿日: 2010/02/19(Fri) 18:28
投稿者花ちゃん
> このサイトのサンプルにあります。
> ペイントのキャンパスのようにサイズを変えられるものです。

>ちなみに、調べてみましたが、やり方が見つかりませんでした

その上に、タイトルバー付のピクチャーボックスを作成 というのがありませんでしたか?
VB6.0で Win32 API 関数を使って作成していた物を、.NET 用に移植したものですが。

要は、ドラッグした時に、ピクチャーボックスのサイズを変更すればいいだけですよね。
(どこをドラッグした時にどのようにサイズを変更するかだけで)

簡単な方法なら下記でもできます。
又は、Anchor プロパティ を使うとか。

( http://hanatyan.sakura.ne.jp/dotnet/mouse02.htm の応用です。)
( http://hanatyan.sakura.ne.jp/patio/read.cgi?no=181 でも同じ)
Private PicPoint As Point
Private PicWidth As Integer
Private PicHeight As Integer
Private Sub PictureBox1_MouseDown(ByVal sender As Object, _
      ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
   If e.Button = System.Windows.Forms.MouseButtons.Left Then
      PicPoint = New Point(e.X, e.Y)
      PicWidth = PictureBox1.Width
      PicHeight = PictureBox1.Height
   End If
End Sub

Private Sub PictureBox1_MouseMove(ByVal sender As Object, _
      ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
   If e.Button = System.Windows.Forms.MouseButtons.Left Then
      Dim w As Integer = e.X - PicPoint.X
      Dim h As Integer = e.Y - PicPoint.Y
      PictureBox1.Width = PicWidth + w
      PictureBox1.Height = PicHeight + h
   End If
End Sub

[ツリー表示へ]
タイトルRe^2: ピクチャボックスのサイズ変更
記事No9892
投稿日: 2010/02/19(Fri) 22:01
投稿者はてなん
返信遅れました。

> その上に、タイトルバー付のピクチャーボックスを作成 というのがありませんでしたか?
ありました。難しそうだったのでスルーしてしましましたが…。

コードまで教えていただきありがとうございました。
動作を確認後、応用しながら自分のイメージに近いものにしていこうと思います。

[ツリー表示へ]