• ベストアンサー

なかなか、Zオーダーが理解できません。

VB6でカードゲームでも作ろうと1から作成しているのですが、ゼットオーダー(レイヤー配置?)で困っています。 ピクチャーボックスとイメージがあり、ピクチャーボックスの上をイメージコントロールが通過します。 以下のようにZorderをセット(前面:0)にしたのですが、ピクチャーボックスの下に隠れます。 frmMain!imgCard.ZOrder 0 何か方法でも間違っているのでしょうか? .NETでもZorderというものは存在するのでしょうか? なかなか、Zオーダーが理解できません。

  • hdkoa
  • お礼率0% (1/117)

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

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

詳しい話はVB6のヘルプを確認してもらうとして・・・ VB6の表示は、3層の階層わけがされていて、 下層;グラフィックのメソッドの出力等が表示される 中層;グラフィカルなコントロールやラベル等が表示される 上層;その他のコントロールが表示される と決まっています。 ZOrderは、各層の中の順番を変えることができますが、 層をまたがった順番変更はできません。 #イメージは「グラフィックコントロール」なので中層に、 #ピクチャーボックスは「その他のコントロール」なので上層に表示されます。 移動用に縁無しのピクチャーボックスを用意しておいて、 イメージを一時的にその上に乗せる(一時的にコンテナを変更する) とかしてはどうでしょう?

その他の回答 (1)

回答No.1

今はVB6の環境が無いので確認が取れないが、私の経験では Zオーダーは同種のコントロール同士で意味を持つようです。 だから、例えばテキストボックスとラベルでは必ず片方が上になるはずです。 ※いくら人望の有る課長でも、部長の上にはなれないようなものです。 今回もピクチャーボックス同士またはイメージコントロール同士なら Zオーダーが有効になるはずです。

関連するQ&A

  • VB2005でZorderを実現させるには

    宜しくお願いします。 最近VB2005の開発を手掛け始めたのですが、VB6との違いに 困惑しております毎日です。 ところで、コントロールを重ねて配置した場合、この順番を 変えるのは、VB6だとZOrderで出来ていたと思うのですが VB2005ではこのメソッドはなくなっているようです。 VB2005ではどのようにすればZOrderのようなことが 実現できるのでしょうか? ご存じの方がおられれば、是非ご教授ください。 宜しくお願い致します。

  • VB2005でピクチャーボックス内の図形を移動

    VB2005のフォームにピクチャーボックスを配置して、Imageで写真を張り付けたとき、写真がピクチャーボックスの大きさよりも大きい場合にピクチャーボックス内の写真を移動させる方法ってあるのですか?現在左上の一部分しか表示されません。同時に写真の拡大縮小ってできるのでしょうか?どなたか詳しい方よろしくお願いいたします。

  • VB2005 コントロールの背景を透過

    フォームにバックグラウンドイメージを設定しているのですが その上にグループボックスやラベルを貼り付けたら、フォームのイメージが隠れてしまいます。 VB6はコントロールに背景を透過にするプロパティがあったので探してみたのですが、見当たりません。 おそらくVB2005でも簡単に透過設定できると思うのですが… グループボックスとラベルを透過に設定する簡単な方法はありますでしょうか? (コントロールの継承になってくる?) また、これはおそらく無理だと思うのですが ピクチャーボックスで表示されている画像の透過部分にも フォームの背景イメージを表示させる、ということは可能でしょうか? よろしくお願い致します。

  • VB.NETでピクチャーボックス2個のサイズを変えたい

    VB.NET2003です。 ホーム上に二つのピクチャーボックスを配置し、ペンやブラシで直線や文字を描きます。 二個のピクチャーボックスを上下に配置し、その境界線上にマウスをもってゆき、上下のBOXサイズの比率を変えたいのですが、可能でしょうか?

  • TabStripコントロールの上にLabelコントロールを乗せるには?

    VB6でTabStripコントロールの上にLabelコントロールを乗せようとしています。 もちろん、コンテナに積んで乗せてやれば乗ることはわかっていますが、コンテナに積まず直接乗せようとすると乗りません。配置した後に最前面を指定しても最前面に出てきません。 FrameなどのコンテナのBorderStyleを無にしてFrameに積んでTabStripに配置するという方法はとりたくありません。 TextBoxやChkeckBoxなどのコントロールは直接乗るのにLabelは乗りません。 これはVB6の仕様なのでしょうか、若しくはコンテナに積まず乗せる方法がほかにあるのでしょうか。

  • VBの印刷について

    visual basic6の印刷について質問です。 現在ピクチャーボックス内にテキストボックスやオプションボタンなどの コントロールを配置しています。 それを印刷したいのですがうまくいきません。 各コントロールが認識されずに真っ白な状態で印刷されます。 以下のソースで各コントロールが認識されていないことがわかりました。 Private Sub print_cmd_Click() print_mt = MsgBox("印刷しますか?", vbYesNo,) If print_mt = vbYes Then Picture2.Picture = Picture2.Image SavePicture Picture2.Picture, App.Path & "\abc.bmp" End If End Sub bmpで表示しようとしても何も確認できません。。。 Printer.PaintPicture Picture1.Image Printer.EndDoc でやっても白紙ででてきます。 AutoRedrowはTrueにしてます。 なぜピクチャーボックス内のコントロールが認識されないのでしょうか? 各コントロールは正常に動作しています。

  • タブコンロトールについて

    VB2005を使っています。 ピクチャーボックス1つと タブ1、タブ2、タブ3の3項目をもった タブコントロール1つを配置し、 タブ1が表示されているときに ピクチャーボックスをクリックすると そのピクチャーボックスに円が描かれ、 タブ2が表示されているときに ピクチャーボックスをクリックすると ピクチャーボックスに直線が描かれ、 タブ3の場合も同様にピクチャーボックスが 塗りつぶされるというような プログラムを書きたいのですが どのようにしたらよろしいでしょうか。 御助言よろしくお願いいたします。

  • Accessで「ファイルを開く」ダイアログを表示させて画像のフルパスを入力したい。

    こちらの過去のQ/Aを参考にして作成してみましたが、表題の方法が よくわかりません。 わたしが行ったのは・・・、 ・表示したいファイル名のフルパスを持つフィールドをテーブルに持つ。  (テキスト属性) ・フォームにそのフィールドを可視で配置する。 ・フォームにイメージコントロールを配置する。 ・Form_Loadイベントで、そのフィールドがnullでなければ、イメージ  コントロールのPictureプロパティに、そのフィールドのValueを  セットする。 この方法だと、あらかじめテーブルのフィールドに画像ファイルの フルパスをセットする必要がありますが、それを「ファイルを開く」 ダイアログボックスで選択し、自動で入力できるようにしたいのです。 何かいい方法はあるでしょうか。

  • Image or Pictureコントロールについて

    VB6でImageコントロールとPictureコントロールを使って簡単なアニメーションを作っている最中に以下の事を気づきました。 Pictureコントロールの場合、背景色がBackgroundColorなのに対し、作成した画像が透過GIFの為かImageコントロールは画像の部分だけ表示されて、後ろの画像に溶け込んだように表示されます。 機能面ではPictureコントロールの方が上(Imageコントロールに無い機能は何かは知りませんが)のような気がしたのですが、この場合の見た目はImageコントロールの方が良いのですが、本来こういうものでしょうか? ちなみにVB.NETはどうなっているのでしょうか?

  • ファイルダイアログでファイルをダブルクリックするとコントロールの位置が変わる

    WindowsXP、VB.NET2005で開発しています。 フォームにコントロールを配置し、 コントロール(ラベル・ピクチャーボックス)を動的に作成して マウスのドラッグにて移動できるようにしております。 問題となっているのは ContextMenu から実行する処理で ファイルダイアログを起動しているのですが、 そのファイルダイアログのファイルをダブルクリックして選択すると もとのコントロールの位置が変わってしまいます。 ファイルダイアログで行っている処理は選んだファイル名の格納だけなので、移動するのがなぜかわかりません。 OKボタンクリックでは移動しません。 画面上にラベルピクチャーボックスがある状態で 上記操作をすると、ピクチャーボックスが移動してしまいます。 移動しなくなるときもあるのですが、 法則がつかめておりません。 原因としてどういったことが考えられるでしょうか?

専門家に質問してみよう