プロが教えるわが家の防犯対策術!

ダイアログ内にコンボボックスを作り、コンボボックス内の項目には、
TEXT("りんご"),TEXT("メロン"), TEXT("みかん")を表示させました。
先頭項目は、りんご・メロン・みかんの順です。
デフォルトでりんごにカーソルがありますが、
みかんを選択してダイアログを閉じ、再度ダイアログを呼出した時に、
みかんにカーソルがあるようにするには、
どのようにしたら良いのでしょうか?

#SDK、Win98、Vc++で作成しています。
宜しくお願いします。

A 回答 (2件)

まず、選択された値の取得


CB_GETCURSELなど

値の選択
CB_SETCURSELなど
は、OKですよね?


”閉じる”というのがアプリを終了せずにダイアログだけを閉じるというのであれば、プログラム中の好きな領域に退避させておけばいいのでは?

そうではなく、再度アプリを立ち上げたときに同じ値を表示させたいのであれば、ファイル等の外部のものに情報を保存しておく必要があります。

よく利用されるのが、INIファイル、レジストリなどです。
別に、自分で特別なファイルを作ってその中に必要な情報を書き込んでおいてもかまいません。

で、再度開くときに保存した内容を読み込んで、WM_INITDIALOGで、コンボボックスの初期値に設定すればいいのでは?

#”カーソル”という単語はおかしいですよ。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
今回は、前者の方でやりましたが、
いずれは、後者の方も必要となりそうですね。
予備知識として参考になりました。

>#”カーソル”という単語はおかしいですよ。

では、なんて呼ぶんでしょうか。。。
メッセージには、CURSELってあったので、
カーソルと書いてみました。

お礼日時:2002/06/12 23:11

こんにちは。

itohhといいます。

選択行の取得は解りますか?
GetCurSel()ですね。

次に表示したときには、取得済みの値でSetCurSelしてください。

詳しいことは、MSDNライブラリのCComboBoxクラスを参照してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
理解することで解決しました。
ちょっと、時間がかかりましたが・・・

お礼日時:2002/06/12 23:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!