- ベストアンサー
VC++ リストボックスにデータを入れる
VC++で質問です。 リストボックスが2つありそれにデータをひっぱって 表示させたいんですが。。。 初めは1つのリストボックスだったんです。 それを今回2つに増やしてみたのです。 詳しく書いてあるHP等ご存知の方教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。itohhといいます。 余計なお節介かもしれませんが。 >CComboBox *pCb = (CComboBox *)GetDlgItem(IDC_LB_xxxxx); なぜ、ClassWizardを使用してメンバ変数を作成しないのでしょうか? ClassWizardから作成すると非常に楽ですよ!! それから、ListBoxじゃなくComboBoxだったのですね? それでは、ガンバってください。
その他の回答 (2)
- itohh
- ベストアンサー率45% (210/459)
こんにちは。itohhといいます。 まだ解決はしていないのでしょうか? それならば、こんな方法は如何ですか? 1.ラジオボタンを2個用意する。(IDC_RADIO1、IDC_RADIO2) 2.リストボックスを2個用意する。(m_ListBox1、m_ListBox2) 3.ラジオボタンのOnClickイベントを用意する。(OnRadio1、OnRadio2) void CTest::OnRadio1() { m_ListBox1.EnableWindow( TRUE ); // 使用可能状態にする m_ListBox2.SetCurSel( -1 ); m_ListBox2.EnableWindow( FALSE ); // 使用禁止状態にする } void CTest::OnRadio2() { m_ListBox1.SetCurSel( -1 ); m_ListBox1.EnableWindow( FALSE ); // 使用禁止状態にする m_ListBox2.EnableWindow( TRUE ); // 使用可能状態にする } 試してみてください。 EnableWindow関数は、CWndクラスのパブリックなメンバ関数です。 CListBoxクラスは、CWndクラスを継承して作られています。 ですから、CWndクラスのメンバ関数も使用できるのです。
補足
何度もありがとうございます。 実は↑はやっています。 CComboBox *pCb = (CComboBox *)GetDlgItem(IDC_LB_xxxxx); pCb->EnableWindow(FALSE); って。 でも、今、 CComboBox *pCb = (CComboBox *)GetDlgItem(IDC_LB_xxxxx); でエラーがでて。。。 何とか解決してみます! ありがとうございました(^-^)
- itohh
- ベストアンサー率45% (210/459)
こんにちは。itohhといいます。 どのようなことを行いたいのでしょうか? リストボックスを1つ操作できたのならリストボックスの名前を変えて 同じ事を行えばよいのではないですか?
補足
itohhさんありがとうございます。 そうなんですよね。 1つできているならばコピーできそうなんですが、、、 ラジオボタンでリストボックスを使い分けしたいのです。 Aが選択されていたらBのリストボックスは使用しないような。。。 探してみます。 夜中にありがとうございます!
補足
itohhさんありがとうございましたo(^-^)o 多分分かっているとは思いますが、1つだけのリストボックスを 今回2つに増やす修正なのです。 だから、メンバ変数?とやらを作らず そのまま同じようにコピーしたのです。 そしてなぜかCOMBOBOXになっていて今更 Listboxに直そうとすると怒られるので。 よく分かりません(>-<) やばいですね~ あと、こんな初心者に親身に付き合ってくださって ありがとうございました。 とりあえず表示ができたので(一部) あとは1リストボックスの中で選択されたものに ひもずく項目を2リストボックスで表示させればOKです。 今のところ2リストボックスでは前項目 表示しちゃってますから。。。