動的に作成したコントロールを他コントロールの前面に配置するには

解決


SH700  2005-11-26 08:48:02  No: 128250

こんばんは。
フォーム上にMSGridがあり、その上に動的に作成したPictureBoxを表示させたところ、
MSGridの裏側に表示されてしまっています。
これを前面に表示させるような指定方法はあるのでしょうか?

-----
Dim w_UCtrl_Picture() As PictureBox
dim i As Integer

ReDim w_UCtrl_Picture(引数値)
For i = 0 To UBound(w_UCtrl_Picture) - 1
    Set w_UCtrl_Picture(i) = From1.Controls.Add("VB.PictureBox", "w_UCtrl_Picture" & i)
    w_UCtrl_Picture(i).Height = w_picHeight
    w_UCtrl_Picture(i).Width = w_picWidth
    w_UCtrl_Picture(i).Visible = True
Next i
-----

開発環境:Windows2000, VB6.0

ご教授お願いします。


030  2005-11-26 09:19:37  No: 128251

Zorderメソッドで0を指定すれば再前面になります


SH700  2005-11-26 21:51:35  No: 128252

030さん、ご教授ありがとうございます。

w_UCtrl_Picture(i).ZOrder (0) で解決できました。
あとは、色々と試してみようと思います。
ありがとうございました。


Dental  2005-11-27 01:08:03  No: 128253

“マジックナンバー”な 0 や 1 を指定するのではなく、
ZOrder 用の定数を使った方が良いと思う。結果は変わらないけどね。
http://www.microsoft.com/japan/developer/library/vb98/vbidxmiscellaneousconstants.htm#vbidxmiscellaneousconstants


SH700  2005-11-27 01:51:16  No: 128254

Dentalさん、「解決」にも関わらずアドバイスを頂き感謝です!

>“マジックナンバー”な 0 や 1 を指定するのではなく、
>ZOrder 用の定数を使った方が良いと思う。

ZOrderメソッドの定数である、
vbBringToFront
vbSendToBack
で、指定させて頂きます。

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加