• ベストアンサー

コンボボックスで選択した項目を保存する方法

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

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

まず、選択された値の取得 CB_GETCURSELなど 値の選択 CB_SETCURSELなど は、OKですよね? ”閉じる”というのがアプリを終了せずにダイアログだけを閉じるというのであれば、プログラム中の好きな領域に退避させておけばいいのでは? そうではなく、再度アプリを立ち上げたときに同じ値を表示させたいのであれば、ファイル等の外部のものに情報を保存しておく必要があります。 よく利用されるのが、INIファイル、レジストリなどです。 別に、自分で特別なファイルを作ってその中に必要な情報を書き込んでおいてもかまいません。 で、再度開くときに保存した内容を読み込んで、WM_INITDIALOGで、コンボボックスの初期値に設定すればいいのでは? #”カーソル”という単語はおかしいですよ。

rewind
質問者

お礼

回答ありがとうございました。 今回は、前者の方でやりましたが、 いずれは、後者の方も必要となりそうですね。 予備知識として参考になりました。 >#”カーソル”という単語はおかしいですよ。 では、なんて呼ぶんでしょうか。。。 メッセージには、CURSELってあったので、 カーソルと書いてみました。

その他の回答 (1)

  • itohh
  • ベストアンサー率45% (210/459)
回答No.1

こんにちは。itohhといいます。 選択行の取得は解りますか? GetCurSel()ですね。 次に表示したときには、取得済みの値でSetCurSelしてください。 詳しいことは、MSDNライブラリのCComboBoxクラスを参照してください。

rewind
質問者

お礼

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

関連するQ&A