pictureBoxを中央に表示したい – プログラミング – Home

pictureBoxを中央に表示したい
 
通知
すべてクリア

[解決済] pictureBoxを中央に表示したい


Kon
 Kon
(@Kon)
ゲスト
結合: 19年前
投稿: 89
Topic starter  

いつもお世話になっておりますKonです。よろしくお願いします。

PCはWinXP、Visual C++ 2005 Express Edition を使用しています。
Windowsフォームアプリケーション でプロジェクトを作成しています。

bmpを表示するプログラムを作っています。
Panel の上に pictureBox を載せているのですが、
小さい画像を表示した時に、Panel の中央に表示させたいのですが、
どのように設定したら良いのでしょうか?

お分かりになる方はいらっしゃいませんか?


引用未解決
トピックタグ
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

PictureBoxのプロパティにそれらしき物は無いですか?
MSDNでPictureBoxのプロパティについて調べてみましょう。


返信引用
Kon
 Kon
(@Kon)
ゲスト
結合: 19年前
投稿: 89
Topic starter  

”真ん中に置く”みたいなプロパティを探していたんですが、
結局見つけることが出来ず、
今は、メインフォームの Resize のイベントから

private: System::Void MyResize()
{
 int w, h;

 if( (pictureBox->Width > panel->Width) ||
   (pictureBox->Height > panel->Height))
 {
   this->pictureBox->Location = System::Drawing::Point(0, 0);
 } else {
   w = (panel->Width - pictureBox->Width)/2;
   h = (panel->Height - pictureBox->Height)/2;
   this->pictureBox->Location = System::Drawing::Point(w, h);
 }
}

と呼んでいます。


返信引用
Kon
 Kon
(@Kon)
ゲスト
結合: 19年前
投稿: 89
Topic starter  

これでは、ファイルを読み込んだ時には、
Locationの位置が変らないので困ったなと思っていたんですが、
ファイルをOpenした時に、MyResize()を呼べば良いじゃん
ということに今気が付きました。

この方法が、トリッキーな場合は、
ご指摘頂ければ幸いです。

一応、解決。


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

PictureBox
--- SizeModeプロパティで CenterImage を指定
--- Dockプロパティで Fill を指定
ではダメでしたか?


返信引用
Kon
 Kon
(@Kon)
ゲスト
結合: 19年前
投稿: 89
Topic starter  

Blue さんありがとうございます。
確かに、中央に表示されました。

この方法ですと、大きな画像を表示した時に、
スクロールバーが表示されないのですが、
この状況を回避することは出来ないのでしょうか?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました