リスト選択された内容を取得するには?

[戻る]
マグマ 2001/10/03(水) 18:10:19
はじめまして、マグマです。環境はVC++6.0です。

リストで選択された内容を取得して表示したいのですが・・・

いろいろ調べまして、GetCurSelとGetLBTextを用いて取得できるのではないかというとこまで辿り着いたのですが、
実際にプログラムしようとするとその利用方法が解りません。

例えば、DoDataExchangeクラスで DDX_Control(pDX, ID_ABC, ABC_editlist);
とありました。表示されているリストとABC_editlistが結び付けられていると思うのですが、OnSelchangeクラスの中で

int ABC_i = ABC_editlist.GetCurSel;
CString ABCrec;
ABC_editlist.GetLBText(ABC_i, ABCrec);

とすると、リストで選択された内容が、ABCrecに格納されるのでしょうか?
すみませんがお教えください。

sugar 2001/10/03(水) 19:45:12
そこまで具体的に利用方法がわかっているなら、
「とりあえずやってみる」のが一番!

それでもまだダメで、どうにもわからなかったら、その時にまた質問しても遅くはないでしょう。

マグマ 2001/10/03(水) 20:00:47
ご返事ありがとうございます。おっしゃる通りだと思います。

なのですが、自分の担当しているソースが影響が与える(与えられる)ソースを他人が作成していて、原因不明の
エラーが生じ、コンパイルをしてもその前の段階でコンパイルエラーが生じ、ダイアログボックスの表示もできず
リストもいじれない状況です。さらに時間がないので教えていただきたいのですが・・・

さらに、これが上手くいかない場合、

abc_p = GetDlgItem(IDC_ABC);
abc_p->GetLBText(ABC_i, ABCrec);

というように全部書き換えていかなくてはならず、とても間に合わないのです。しかし、この方が無難なのでしょうか?良い方法がありましたらお教えください。

CdS 2001/10/04(木) 00:30:50
>というように全部書き換えていかなくてはならず、とても間に合わないのです。しかし、この方が無難なのでしょうか?良い方法がありましたらお教えください。

どちらが無難ということはないと思います。
どちらでも絶対にうまくいくので、使いやすいほうを使ってくださいとか言えません。

コンパイルエラーについては回答のしようがないです。

時間がないと言われても、1時間なのか1日なのか1日なのか...。
焦っているのは分かりますが、現状を把握し説明できるようにならないと。
2番目の方法が間に合わないなら、1番目の方法で駄目な原因を探すしかないと思いますが。

こちら側からしたらなんとも回答のしづらい質問ではありますね。

マグマ 2001/10/04(木) 08:15:00
[[解決]]
遅くなりましたが、ご返答ありがとうございました。
質問したときのプログラムで上手くコンパイルできるのならそのままにし
次のプログラムに移れることができます。
本当にありがとうございました。

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