はじめまして、たまと申します。初めて質問させて頂きます。
現在ソフトを制作中なのですが、ソフトウェアの設定関係をオプション
ダイアログで作りたいと思い、フォームモジュールの追加=>オプション
ダイアログでダイアログのひな形フォームをプロジェクトに追加しました。
そこで、質問なのですが、各タブ上にはピクチャボックスがあり、
その中に必要なコントロール類を自分で追加していくのだと思うのですが、
タブインデックス1は、そのまま最前面に表示されていて、コントロールを
配置できるのですが、タブインデックス2以降のピクチャーボックスが、
最前面に表示されなくて困っています。
タブインデックス2以降のピクチャボックスの編集は、どうのようにすれば
出来るでしょうか?
ご存じの方、教えて下さい。お願いいたします。
開発ソフト VB6Pro SP5
各PictureBoxのLeftプロパティをチェックしてもらえばわかりますが、
picOpions(0)以外のPictureBoxはfrmOptionsの左枠線の
はるか左、みえない位置に初期配置されています。
例えばグループ2に連動しているPictureBox「picOpions(0)」内を
編集したかったら、以下のようにやってください。
[1]編集画面上のpicOpions(0)コントロールをクリック、選択状態にする。
[2]プロパティウィンドウでLeftプロパティをチェック。
(デフォルトのままなら210のはず)値を覚えておく。
[3]Leftプロパティを-20000に設定する。
(邪魔なので一時的にForm外に移動させるため)
[4]プロパティウィンドウ上部のコンボボックスに
「picOpions(0) PictureBox」 と表示されているはずなので、
コンボボックス右端の[▼]ボタンを押して表示されたリストから
「picOpions(1) PictureBox」 を選択する。
[5]Leftプロパティの値が-20000になっているはずなので
これを210に変更する。
[6]「サンプル2」と書かれたFrameの乗ったPictureBoxが現われるので
好きに編集する。
[7]作業が終わったら、編集画面上のpicOpions(1)コントロールをクリック、選択状態にし、
Leftプロパティの値を-20000に戻す
[8]他のPictureBoxの編集が必要なら、同様に[4]〜[7]を繰り返す
[9]最後のPictureBoxのLeftプロパティの値を-20000に戻したら、
プロパティウィンドウのコンボボックスのリストから 「picOpions(0) PictureBox」を選択し、
Leftプロパティの値を[2]で覚えておいた値(デフォルトのままなら210)に設定する。
要するに
ソースコード「Private Sub tbsOptions_Click()」イベントプロシージャの中で
やっている処理を、プロパティウィンドウを使って手動でやればいい、ということです。
余談ですが、
TabStripはコンテナコントロールではありませんから
タブによる画面の切り替えは自前で記述する必要があります。
それが面倒なら、SSTab(Microsoft Tabbed Dialog Control)を利用するという手もあります。
SSTabコントロールならば、編集時に各Tabを選択しながらTab領域内にコントロールを配置しさえすれば、
Tab切り替え時の画面切り替えは、コードを何も書かなくてもコントロール側で面倒見てくれます。
こんばんは、たまです。
Sayさん、詳しいご回答ありがとうございました。
早速、Sayさんのご説明通りにやってみたら出来ました。
プロパティウィンドウをよく見ていなかったので、
ピクチャーボックスが、フォームの外に有るとは気が付きませんでした。
SSTabコントロールも試してどちらが良いかやってみます。
どうもありがとごうございました。