• ベストアンサー

SSTabのフォーカスの移動について!

Windows2000、VB6.0、SP5で開発しています。 質問は、SSTabのフォーカス移動についてです。 SSTab上のコントロール上にフォーカスがある時、 Tabでフォーカスの移動をしてると、急にフォーカスが見えなくなってしまうことがあります。 調べてみると、隠れているコントロールに移動してしまってるみたいなんですが、 これは、解決策はないんでしょうか? 最後のコントロールでSetFocusを使うとかあったのですが、その場合、 最後のコントロールにフォーカスがある時に、どのコントロールをクリックしても、 最後のコントロールのSetFocusで設定したコントロールにフォーカスが移動してしまいます。 良い方法をご存知の方、いらっしゃいましたら、 どうぞ、ご教授よろしくおねがいしますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • kakusuke
  • ベストアンサー率36% (95/259)
回答No.3

#2の方法で 画面レイアウトが変わっちまうぜ! ってお思いなら、 PictureBoxをお使いになるのが良し。 その場合、BorderStyleを無しにするべし。 僕でしたら、 Tab毎の最初と最後のコントロールの前後に PictureBoxを貼り付けて、 全部のコントロールのSetFocus時に コントロールを保持して、 PictureBoxにフォーカスが当たったときに どうするかによって 処理を考えますが。 例えば、 次のタブにFocusを移すのであれば、 アクティブなタブを切り替えたり、 Focusを移したくないのであれば、 元のコントロールにSetFocusしたりします。

KOHEI_JAPAN
質問者

お礼

ご回答ありがとうございます。 PictureBoxの方が見た目が変わらなくてうれしいです。 それにしても、このコントロール、改善されないんでしょうか…。

その他の回答 (2)

  • j_taira
  • ベストアンサー率0% (0/1)
回答No.2

タブ単位で各処理を行うのであれば、次の方法はどうでしょうか。 1つのタブ内に1つのフレームを配置します。 (タブとフレームが1対1になります) 次に、そのフレームにすべてのコントロールを配置します。 その上で、タブの切替時にアクティブなタブに配置したフレームのEnabledをTrueに、非アクティブなタブのフレームのEnabledをFalseにします。 タブとフレームを1対1で制御する事で、 コントロール単位の制御を簡略できると思います。

KOHEI_JAPAN
質問者

お礼

ご回答ありがとうございます。 確かに、それだとうまく行きそうです。 でも結局、TabStripと同じようなことをするのですね。

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1
参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=604575
KOHEI_JAPAN
質問者

お礼

ありがとうございます。履歴見ました。 でも、すごくめんどくさそうですね(--;) 効率的な方法はないものでしょうか…。

関連するQ&A