特定条件でコンボボックスを非表示⇒表示に変更する

[戻る]
トリトン 2005/06/09(木) 23:27:31
初めまして

作成環境はVC++.NET2003でMFCです。

コンボボックス1,2,3があります。
最初はこの2,3を非表示の設定にしてあるのですが、
コンボボックス1がリストの値を選択すると2が表示され、
またコンボボックス2がリストの値を選択すると3が
表示されるように設定したいと考えています。

たぶん「コンボボックス1がリストの値を選択すると2が表示」と
いう処理は次の処理内に記述すればよいと考えています。

 void CViewMeigara::OnCbnSelchangeCombo1(){
 }

ただいったいどのような処理を記述すればいいかわからないので、
よければサンプルコードを見せて頂けないでしょうか?

尚、文中の非表示とはプロパティ欄のDisabledを"true"にして
ある状態を指しています。

宜しくお願いします

dark 2005/06/09(木) 23:30:31
マルチポストはやめましょうよ。
http://www.mtakahashi.com/cgi.cgi?13226

2005/06/10(金) 09:16:32
EnableWindow とか使えばよいように思います。

sugar 2005/06/10(金) 09:33:13
非表示だったウィンドウを表示するなら、CWnd::ShowWindowでしょうな。

sugar 2005/06/10(金) 09:34:45
> 尚、文中の非表示とはプロパティ欄のDisabledを"true"にして
> ある状態を指しています。

失礼しました、非表示と言っているのは、見えない状態を指してる訳ではないのですね。

トリトン 2005/06/11(土) 06:14:02
[[解決]]
いろいろご指摘ありがとうございました。

CDCクラス(ComboBox)とその派生元クラス(CWnd)周辺を
調べてた結果をご報告いたします。

>非表示だったウィンドウを表示するなら、CWnd::ShowWindowでしょうな。
#よく本を読めば、この派生関係もよくわかりました。

ComboBoxまたはCWndのメンバークラスを調べた結果、
処理の途中でComboBoxを非表示(※1)から表示に切り替える
メンバークラス(処理)はないという事が理解できました。

(※1)…非表示とはプロパティ欄のDisabledを"true"に設定した状態

ただ、Set/GetProperty()が近い様な処理を行いそうで
したので、このメンバについてはもう少し研究したいと思います。

#マルチポスト(規約違反)の対処法で結論は同じ見解を掲載するように
#とありましたので、ここに同一内容を掲載しました。

どうも、いろいろご迷惑をお掛けしました。

トリトン 2005/06/11(土) 07:07:22
>EnableWindow とか使えばよいように思います。

すいません、これで実装できました。

古いスレッドには追加発言できません。