- ベストアンサー
SSTabのフォーカスの移動について!
Windows2000、VB6.0、SP5で開発しています。 質問は、SSTabのフォーカス移動についてです。 SSTab上のコントロール上にフォーカスがある時、 Tabでフォーカスの移動をしてると、急にフォーカスが見えなくなってしまうことがあります。 調べてみると、隠れているコントロールに移動してしまってるみたいなんですが、 これは、解決策はないんでしょうか? 最後のコントロールでSetFocusを使うとかあったのですが、その場合、 最後のコントロールにフォーカスがある時に、どのコントロールをクリックしても、 最後のコントロールのSetFocusで設定したコントロールにフォーカスが移動してしまいます。 良い方法をご存知の方、いらっしゃいましたら、 どうぞ、ご教授よろしくおねがいしますm(_ _)m
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2の方法で 画面レイアウトが変わっちまうぜ! ってお思いなら、 PictureBoxをお使いになるのが良し。 その場合、BorderStyleを無しにするべし。 僕でしたら、 Tab毎の最初と最後のコントロールの前後に PictureBoxを貼り付けて、 全部のコントロールのSetFocus時に コントロールを保持して、 PictureBoxにフォーカスが当たったときに どうするかによって 処理を考えますが。 例えば、 次のタブにFocusを移すのであれば、 アクティブなタブを切り替えたり、 Focusを移したくないのであれば、 元のコントロールにSetFocusしたりします。
その他の回答 (2)
- j_taira
- ベストアンサー率0% (0/1)
タブ単位で各処理を行うのであれば、次の方法はどうでしょうか。 1つのタブ内に1つのフレームを配置します。 (タブとフレームが1対1になります) 次に、そのフレームにすべてのコントロールを配置します。 その上で、タブの切替時にアクティブなタブに配置したフレームのEnabledをTrueに、非アクティブなタブのフレームのEnabledをFalseにします。 タブとフレームを1対1で制御する事で、 コントロール単位の制御を簡略できると思います。
お礼
ご回答ありがとうございます。 確かに、それだとうまく行きそうです。 でも結局、TabStripと同じようなことをするのですね。
- TAGOSAKU7
- ベストアンサー率65% (276/422)
お礼
ありがとうございます。履歴見ました。 でも、すごくめんどくさそうですね(--;) 効率的な方法はないものでしょうか…。
お礼
ご回答ありがとうございます。 PictureBoxの方が見た目が変わらなくてうれしいです。 それにしても、このコントロール、改善されないんでしょうか…。