• ベストアンサー

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

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

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

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

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

その他の回答 (1)

回答No.1

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

関連するQ&A