プロが教えるわが家の防犯対策術!

Windows2000、VB6.0、SP5で開発しています。

質問は、SSTabのフォーカス移動についてです。
SSTab上のコントロール上にフォーカスがある時、
Tabでフォーカスの移動をしてると、急にフォーカスが見えなくなってしまうことがあります。
調べてみると、隠れているコントロールに移動してしまってるみたいなんですが、
これは、解決策はないんでしょうか?

最後のコントロールでSetFocusを使うとかあったのですが、その場合、
最後のコントロールにフォーカスがある時に、どのコントロールをクリックしても、
最後のコントロールのSetFocusで設定したコントロールにフォーカスが移動してしまいます。

良い方法をご存知の方、いらっしゃいましたら、
どうぞ、ご教授よろしくおねがいしますm(_ _)m

A 回答 (3件)

#2の方法で


画面レイアウトが変わっちまうぜ!
ってお思いなら、
PictureBoxをお使いになるのが良し。
その場合、BorderStyleを無しにするべし。

僕でしたら、
Tab毎の最初と最後のコントロールの前後に
PictureBoxを貼り付けて、
全部のコントロールのSetFocus時に
コントロールを保持して、
PictureBoxにフォーカスが当たったときに
どうするかによって
処理を考えますが。
例えば、
次のタブにFocusを移すのであれば、
アクティブなタブを切り替えたり、
Focusを移したくないのであれば、
元のコントロールにSetFocusしたりします。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/01/26 09:51

タブ単位で各処理を行うのであれば、次の方法はどうでしょうか。



1つのタブ内に1つのフレームを配置します。
(タブとフレームが1対1になります)
次に、そのフレームにすべてのコントロールを配置します。

その上で、タブの切替時にアクティブなタブに配置したフレームのEnabledをTrueに、非アクティブなタブのフレームのEnabledをFalseにします。

タブとフレームを1対1で制御する事で、
コントロール単位の制御を簡略できると思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/01/26 09:49
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/01/26 09:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!