オプションダイアログでタブインデックス内のピクチャーコントロールの編集

解決


たま  2004-06-13 22:24:04  No: 113905

はじめまして、たまと申します。初めて質問させて頂きます。

現在ソフトを制作中なのですが、ソフトウェアの設定関係をオプション
ダイアログで作りたいと思い、フォームモジュールの追加=>オプション
ダイアログでダイアログのひな形フォームをプロジェクトに追加しました。

そこで、質問なのですが、各タブ上にはピクチャボックスがあり、
その中に必要なコントロール類を自分で追加していくのだと思うのですが、
タブインデックス1は、そのまま最前面に表示されていて、コントロールを
配置できるのですが、タブインデックス2以降のピクチャーボックスが、
最前面に表示されなくて困っています。

タブインデックス2以降のピクチャボックスの編集は、どうのようにすれば
出来るでしょうか?

ご存じの方、教えて下さい。お願いいたします。

開発ソフト  VB6Pro SP5


Say  2004-06-14 02:43:38  No: 113906

各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切り替え時の画面切り替えは、コードを何も書かなくてもコントロール側で面倒見てくれます。


たま  2004-06-14 05:11:57  No: 113907

こんばんは、たまです。

Sayさん、詳しいご回答ありがとうございました。
早速、Sayさんのご説明通りにやってみたら出来ました。
プロパティウィンドウをよく見ていなかったので、
ピクチャーボックスが、フォームの外に有るとは気が付きませんでした。
SSTabコントロールも試してどちらが良いかやってみます。
どうもありがとごうございました。


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




  


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