タブ(Tabstrip)上のコントロール配列のインデックスを管理するには?

解決


チョコバット向井  2005-01-26 13:28:55  No: 88035  IP: [192.*.*.*]

VB6.0でTabstrip、Webbrowserを使って、タブブラウザを作ろうとしています。
Tabの切替と同時に、コントロール配列であるWebBrowserのVisibleを変更し、表示されるWebBrowserを切り替えています。
選択されたTabを削除する機能をつけたいのですが、Tabの削除と同時に、対応するWebBrowserをunloadすると、Tabのindexは自動的に再配置されるためWebBrowser
のindexとずれが生じてしまい、表示するWebbrowserコントロールが選択されたTabのindexで指定する事ができなくなってしまいます。

図解します↓
[Tab] 1 2 3 4 5 ...  Tab(3)をRemove  ⇒  1 2 3 4
[Web] 1 2 3 4 5 ...  Web(3)をUnload  ⇒  1 2 4 5
                                             ~~~↑indexがずれてしまう。

TabとWebBrowserのindexを関連付ける配列を用意すれば可能とは思いますが、
どうもスマートなやり方ではない気がしています。
なにか良い方法はないでしょうか?

また、Tab上の右クリックで右クリックメニューを表示して、指定したTabを
削除したいのですが、どのTab上で右クリックが押下されたかを知りたいのですが
どうすればよいでしょうか?

ご教授お願いします。

編集 削除
ねろ  2005-01-26 14:56:35  No: 88036  IP: [192.*.*.*]

>TabとWebBrowserのindexを関連付ける配列を用意すれば可能とは思いますが、
indexで関連付けるのではなく、Tagで関連付たらいかがですか。

>どのTab上で右クリックが押下されたかを知りたいのですが
どのタブ上といっても、現在アクティブになっている、タブですよね。
TabStrip1.SelectedItem.Index

編集 削除
チョコバット向井  2005-01-26 15:46:13  No: 88037  IP: [192.*.*.*]

ありがとうございました。
おかげさまでなんとかなりそうでした。

編集 削除