ユーザコントロール上にラベルコントロールを配置

解決


chun  2003-10-08 17:44:59  No: 79715  IP: [192.*.*.*]

ユーザコントロール上へのラベルを配置したいのですが、
ユーザコントロール上にラベルコントロールを配置すると
必ず、ユーザコントロールが上にきてしまいラベルがみえなくなってしまいます。

コードでユーザコントロールのZorderを指定し最背面へとしても
背面にはいきませんでした。

ラベルがみえるようにする方法がないでしょうか?
VB6,Windows98にて作成しています。
よろしくおねがいします。

編集 削除
Say  2003-10-08 18:21:13  No: 79716  IP: [192.*.*.*]

ユーザコントロールの一部として
ユーザコントロール内に配置したいのなら、
ユーザコントロール作成時に配置しておく必要があります。

単に、Form上で重なって見えるだけでいいなら、
一旦ラベルをコンテナコントロール(PictureBoxなど)の中に
配置すれば、PictureBoxごとユーザコントロールの上に置くことができます。
ただし、そのままでは背景を透明にすることはできません。
(ユーザコントロールの重なった部分はPictureBoxの下に隠れます。)

編集 削除
魔界の仮面弁士  2003-10-08 19:19:30  No: 79717  IP: [192.*.*.*]

(FrameやPictureBoxのような)コンテナになれるコントロールにしたいという意味ならば、
UserControlの ControlContainer プロパティを True にしておけば OK です。

編集 削除
chun  2003-10-08 20:06:24  No: 79718  IP: [192.*.*.*]

早速のお返事ありがとうございます!!

質問の仕方が悪かったです。
すいません^^;

作り上、ラベルはフォームに配置し、かつそのラベルが
ユーザコントロール上にきたときにラベルを最前面におきたいのですが、
その方法はないのですか

編集 削除
魔界の仮面弁士  2003-10-09 01:45:21  No: 79719  IP: [192.*.*.*]

管理階層が異なるので、それはできません。
(ヘルプでZOrderメソッドの項を見ると、最後の方に階層に関する記述があります)

LabelコントロールをUserControlよりも手前に配置したいのであれば、
私やSayさんの回答にあるように、UserControlやPictureBoxなどの
「コンテナ」コントロール上に配置し、そのコンテナの位置を変える事で
代用する事になりますね。

編集 削除
chun  2003-10-09 10:38:41  No: 79720  IP: [192.*.*.*]

ありがとうございましたー

編集 削除