MFCで、タブコントロール下にそれぞれTAB0,TAB1,TAB2の3つラベルをもつ
ダイアログを作成したのですが、TAB1のラベルの選択を無効にする
(TAB1のページ選択のみを非アクティブ化する)には
どのようにしたらよろしいのでしょうか?
ご存知のかたがいらっしゃいましたら宜しくお願いします。
> ダイアログを作成したのですが、TAB1のラベルの選択を無効にする
> (TAB1のページ選択のみを非アクティブ化する)には
> どのようにしたらよろしいのでしょうか?
やったことがないですが,TCN_SELCHANGINGにTRUEを返すことでできるようです。
http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/tab/notifications/tcn_selchanging.asp
MFCということなので,ダイアログにOnNotifyを用意するかON_NOTIFY_REFLECTを使うことで,
対応できると思います。
YuO様、早速のご回答ありがとうございます。
自分なりにじたばたしてみたのですが、VC++をはじめてまだ日が浅く、
スキル不足なので、解決に至っておりません。
お手数とは思いますが、もう少し具体的に説明していただくことは
可能でしょうか?
現状は、ClassWizardでTCN_SELCHANGEメッセージをインプリメントし、
Cxx::OnSelchangeTab…()の中で、TAB1のページの選択時は、
ある条件がそろわないと、エラーメッセージBOXを表示させて、
TAB0のページの表示に戻るように作っております。
(これでも事は足りるのですが・・・)
希望としては、条件が揃っていない場合、TAB1のラベルの文字が
グレイアウトした状態(ボタンなら押せなくなる状態と同じ感じ)になり、
オペレータが選択できないようにしたいと思っています。
OnNotifyを用意することで、実現は可能なのでしょうか?