はじめまして
【環境】
VC++ 6.0
win2000
次のように場合分けをしてリストに表示を行いたい場合どうしたら良いのでしょう?すごく漠然とした質問で申し訳ありませんが
例えば 三年一組には、山田君、鈴木君
三年二組には、田中君、望月君が所属しています。
一つ目のリストボックス(ID_A_EDITLIST)には三年一組か二組かが表示されます。
そして、二つ目のリストボックス(ID_B_EDITLIST)には,一つ目に選択された組のメンバーしか表示されないようにしたいのですが・・・
方法は様々あるとは思うのですが、コントロールに対応する既成のクラスが用意されているので、プログラムソースをどのようにしたらいいのかわかりません。
質問自体がすごく漠然としていますので、何かアドバイスでもいいのでよろしくお願いします。
ClassWizardを使用しているならID_A_EDITLISTのLBN_SELCHANGEのイベントで
ID_B_EDITLISTのリストボックスに対して
ResetContent(またはLB_RESETCONTENT)と
AddString(またはLB_ADDSTRING)
すれば良いのでは?
Halです。
別にコントロールに対応するクラスが用意されている有無は全く
プログラム構造上関係ないと思いますよ。
要は、データファイルをどういう構造にするかだけの問題だと
思いますよ。
それが決まれば、規則性を持ったデータ構造ですから、その中から
目的のデータを取り出してリストボックスに表示するだけですから
何ら悩むことはないのではないでしょうか。
一例としてデータ構造を上げるとするば、CSV形式のデータ構造で
A組,a君
A組,aa君
A組,aaa君
B組,b君
B組,bb君
といったデータ構造にしておいて、カンマを基点にデータを
切り分けて表示すれば良いと思います。
このとき注意しないと、組を表示するリストボックスには重複した
組が表されてしまうので、リストに無いものだけ表示するといった
処理を加えれば簡単にできます。
こういった部分こそがプログラミングですので、人に聞く前に
自分で悩む癖をつけていったほうが良いと思いますよ。
それでは。
ご返事ありがとうございます。
自分は初心者でして以下のメソッドをヘルプで調べましたが解りません。
LBN_SELCHANGE
ResetContent(またはLB_RESETCONTENT)
少し自分でも調べてみようと思うのですが、勉強するにあたって良いサイト等があれば教えて頂けないでしょうか?
少し都合がいいのですが、SELCHANGEはどういった関数なのでしょうか?
HELPで充分だと思います。
例えば
LBN_SELCHANGE で 類似する文字に合致のみをチェックして検索をかけてください。
いろいろ出てくるので、全て読みましょう。(^^;
ありがとうございます。調べてみます。