• ベストアンサー

picture box 等の表示順番を入れ替えたり出来ますか?

visual basic については、初心者です。 描画についてお伺したい事があります。 Visualstudio 2005 visual basic .net? を使用しています。 その時の状況に応じて表示を変えたいと思うのですが、 複数の例えばpicture box の表示順番(重なりの順番です。例えばadobe photo shop のレイヤー)を入れ替えたりすることは、可能ですか? 申し訳ありません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.1

「Control.BringToFront メソッド」や「Control.SendToBack メソッド 」で変更できます。

参考URL:
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.control.bringtofront(VS.80).aspx
psychesine
質問者

お礼

ありがとうございます! 試してみます。

psychesine
質問者

補足

ありがとうございます!! できました。 度々スミマセン..上から三番目を上から二番目に移動したいときは、 自前で順番を入れ替える処理を加えなければいけないんですよね? 2005には一番前と一番後だけしか無いのでしょうか?.. 申し訳ありません。

その他の回答 (1)

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

> 2005には一番前と一番後だけしか無いのでしょうか? 無いようです。 2005には、と言うより、Windowsの基本機能として無いんだと思います。 多分、内部的に、WindowsAPIの 「SetWindowPos」(http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_win32_setwindowpos.asp) を呼び出しているだけだと思いますので・・・

psychesine
質問者

お礼

そうなんですか...残念です。 ありがとうございました。

関連するQ&A

  • ピクチャボックスのサイズを状況に応じて変えたい。

    度々お世話になります。 今、ピクチャボックスに描画を行い、別のピクチャボックス上のイメージに表示しています。 描画を行う範囲はその都度異なり、それに対応するためにピクチャボックスは可能な限り大きくしてあります。ところが、イメージに表示させる段階で、描画していない部分まで表示するため、見た目が悪く、使い勝手も悪いのです。そこで、作図範囲のみを表示させたいと考えています。 やはり、ピクチャボックスのサイズをどうにかするのが先決かと思いまして質問させていただきました。できれば、作図範囲に合った大きさになるようにその都度変化させたいと思うのですが、そういった方法はありますか? あるいは、作図範囲のみをイメージに表示する方法があればそれでも結構です。 何か良い方法があれば、御教示いただけると幸いです。 開発環境はWindows2000、VB6.0です。 宜しくお願いします。

  • ピクチャボックス

    ピクチャボックスを最初に貼り付けて、その内側にラベルとテキストボックスを貼り付けたいのですがしてみた所内側に表示されません・・・。 どのようにしたら表示されるようになるんでしょうか? 初心者な質問ですいません。

  • 【VB6.0】ピクチャーボックスに関数のグラフを描かせる

    Visual Basic 6.0でボタンを押すとピクチャーボックス内に関数のグラフを描かせるプログラムを描きたいです。ボタンを押してフォーム上にグラフを表示させることはすでにできています。ではそれをどのようにしてピクチャーボックス内に表示させるのでしょうか。 おねがいします。おしえてください

  • picture boxの画像をimageに上下反転して表示したい

    お世話になります。mmc820です。 表題の通りですが、ピクチャーボックス(作業用で実際は表示されません)に描画した画像をイメージに上下反転した状態で表示させたいと思います。 ピクチャーボックスに上下反転して表示する方法は見つけたのですが、イメージに表示させる方法が見つからず困っております。 イメージへの反転表示は可能なのでしょうか? 皆様、良い方法がありましたらどうか御教示下さい。 もし不可能であれば「不可能です。」という旨のお答えでも結構ですので、ご意見お聞かせください。 当方の開発環境はWindows2000、VB6.0です。 また、説明に不足がありましたら補足いたします。 どうか宜しくお願いします。

  • ピクチャボックスの座標取得

    Microsoft Visual Studio 2008のスマートデバイス用で、PDA用のプログラミングを開発しています。 フォーム上にピクチャボックスを貼りつけ、画像表示をできるようにしています で、やりたいことは・・ Private Sub PictureBox1_MouseUp(ByVal sender As Object, _ ByVal e As System.Windows.Forms.MouseEventArgs) _ Handles PictureBox1.MouseUp 'ピクチャボックスの座標を表示させる     End Sub Private pos As Pointで宣言しておき、 pos.X = e.X pos.Y = e.Y でやると、どうも、フォームの座標が取得されてしまうようです ピクチャの画像は拡大・縮小をできるようにしてあるため、フォーム座標=ピクチャ座標にはなりません ピクチャボックスの座標を取得するにはどのようにしたらよいのか、ご教授願います

  • ピクチャボックスで一部の文字を回転

    初歩的な質問かもしれませんが・・・ ピクチャボックス内に描画をしようとしているのですが, 縦軸のタイトルを90度回転させて表示させることはできるでしょうか。 ちなみにそこ以外は普通に横書きなので, Picture1.Print "経過時間" のように書いています。 文字列単位でプロパティを変更する方法がわからない状態です。。 わかる方がいましたらよろしくお願いします。

  • ピクチャーボックスのサイズを設定する方法を教えて

    VB.NETですでに表示済みのピクチャーボックスの サイズを変更したいのですが、どのように記述すれば良いでしょうか。 基本的なことで申し訳ありませんが、教えて頂けたら助かります。 表示済みの画像は反映されなくてかいません。 単に枠のサイズを変更したいです。

  • PhotoShopのマスク機能について

    質問させてください。私は今WindowsでAdobe Photo shop7.0を使用しています。そこで、私はマスク機能がまったく理解できないんです。どうか教えてください。ある本に「レイヤーマスクを追加してブラシツールで不透明度を25%にして画像をなぞると、下のレイヤーの絵が見えてくる」と書いていましたが、なぜブラシの描画色を黒にして塗ると、下のレイヤーがみえるのですか?

  • ダイアログボックスについて。

    ダイアログボックスについての質問です。 開発環境はVisual C++ 2005.netでありSDKを利用しています。 ダイアログボックスにPicture Controlを貼り付け、Combo Boxの内容が変わるたびにそのPicture Controlに画像を表示するようなプログラムを作りたいと考えています。 自分が考える手順としてはまずPicture Controlについてサブクラス化を行い、親のダイアログボックスが表示されると同時にPicture ControlのプロシージャでWM_CREATEメッセージを受け取り描画を行う。 そして親のダイアログボックスに貼り付けたCombo Boxの内容が変更された場合に、Picture ControlのウィンドウハンドルにむけてWM_PAINTメッセージを送信する。 こんな手順で行いたいのですが、少し不安な部分が出てきました。 Combo Boxの内容が変更され、Picture Controlのウィンドウハンドルに向けてWM_PAINTメッセージを送信し、Picture ControlプロシージャではWM_PAINTメッセージがきたとき画像の描画を行う場合、このプロシージャではどの画像を描画してよいか不明です。 そのため何番の画像の表示命令が来たのかを示すために、親のダイアログボックスに貼り付けたCombo Boxが変更された場合、Picture Controlに向けてWM_PAINTメッセージと表示画像番号をパラメータとして送信したいのです。 もちろんグローバル変数を用意すれば簡単なのですが、できるだけ使用しないように記述をしたいのです。そこで考えたのが、 SendMessage(GetDlgItem(hDlgWnd, IDC_PICTURE), WM_PAINT, 0, MAKELPARAM(0, number)); このようにnumberをLPARAMの下位ワードとして送信しようと考えました。 このメッセージ送信を行い、Picture ControlプロシージャでWM_PAINTメッセージが到着したとき、LOWORD(lparam)からnumberを取り出す。 実現したい目的のため、このような方法を考えましたが、エラーなく実行できるでしょうか? もしあやしい部分が見つかった場合はアドバイスをお願いします。そしてこの方法よりも簡単に処理できる方法があれば教えていただきたいです。 自分としてはサブクラス化は面倒なので、Picture Controlをオーナードローとして扱う方法も考えましたが、うまく動きませんでしたTT

  • VB6.0で、グラフを複数表示させたいのですが。

    VB6.0で、Form1にある描画ボタンを押すたびに、 Form2のグラフを画面上に追加表示したいのですが、 同じフォームを複数表示させる方法がわかりません。 ご存知の方教えてください。 よろしくお願いします。 Form2は添付ファイルのような感じです。 ピクチャーボックスにグラフを描画します。

専門家に質問してみよう