言語:C++にupdateData MFCで
開発環境:のMicrosoft Visual C++を使用し
ライブラリ:MFC
問題:私は好みの設定アプリケーションを作成しました。左側には、変更可能な設定の「親」カテゴリのリストボックスがあり、クリックすると、変更可能な設定が、多くの大きな環境設定ダイアログのようにリストボックスの右側に表示されます。私はすべてのコントロールをDDXデータ交換でセットアップしています(注:各サブダイアログ/環境設定ページのcppファイルがあります)ので、すべての基本設定があります。
ここは私の問題です。私は、親ダイアログボックスの子であり、ダイアログのピクチャコントロールにバインドされているだけなので、環境設定ダイアログボックスでDoModal()を実際に呼び出すことはないため、UpdateDataを使用するのは苦労しています。ユーザーがリストボックスをクリックすると、フォーカスの設定とサブダイアログの表示/非表示の組み合わせが実行されます。
ユーザーが「これらを保存」を選択すると、保存する(XML構成ファイルを生成する)特定の環境設定ペインを確認できる別のダイアログが表示されます。明らかに私は入力のためにダイアログをスクラップする必要がありますが、プログラムがUpdateDataを呼び出すコードのポイントに達すると、DoModal()を呼び出す前にUpdateDataを呼び出しているのでプログラムが失敗します。
今、値を取得する方法についてはわかりません。それは、私がMFCを非常に新しくしたことにも役立ちません。だからそれがある。とにかく、私は誰でも提供できる助けに感謝します。
可能であれば、部分的にUIをやり直す必要はありません。私はそれがUpdateDataを呼び出すことがわかっているので、私のアプリケーションが動作する方法のために、私がやろうとしているものが好きではないので、OnOK()を使って試しました。基本的には、「すべて保存」ボタンと「保存」ボタンがあり、どのサブダイアログが保存されるかを指定します。SaveTheseはチェックボックスでダイアログをポップアップし、どのペインを保存するかを指定できるようになります。このチューザの解約(OnOK)には、情報を保存する必要があります。すべての値を取得する必要があります。サブダイアログでOnOKを呼び出すだけで無駄になりました。 – Jon
コードを見ることなく、各ペインのデータ構造と、関連しないダイアログから保存/ロードするために使用できるこれらのデータ構造のコレクションを持つことができるインターフェイスが必要なように聞こえます。私は、これらのペインがモードレスであると仮定しているため、インターフェイスを使用すると、繰り返し実行できるペインポインターのコレクションを持たせることもできます。 – AJG85
ええと、私はそれを研究しなければならないでしょう...私はあなたが各ペインのためのインターフェイスによって何を意味するか分かりません。私はVisual C++とMFCにはかなり新しいので、これまでのところこれを得るのは難しかったです。助言がありますか?あまりにも多くの時間を費やしたくない... – Jon