2011-06-24 5 views
2

言語: C++UpdateDataの仕組みが不明ですか?

開発環境:使用のMicrosoft Visual C++

ライブラリ: MFC

問題:私は好みの設定アプリケーションを作成しました。左側には、変更可能な設定の「親」カテゴリのリストボックスがあり、クリックすると、変更可能な設定が、多くの大きな環境設定ダイアログのようにリストボックスの右側に表示されます。 (See screenshot from the creator

これは私の問題です。私は、親ダイアログボックスの子であり、ダイアログのピクチャコントロールにバインドされているだけなので、環境設定ダイアログボックスでDoModal()を実際に呼び出すことはないため、UpdateDataを使用するのは苦労しています。フォーカスの設定とサブダイアログの表示/非表示の組み合わせを実行します。

ユーザが「これらを保存」を選択すると、別のダイアログが表示され、保存する特定の環境設定ペイン(XML設定ファイルを生成する)を確認できます。明らかに私はその入力のためにダイアログをスクラップする必要がありますが、私はUpdateDataを呼び出すとDoModal()を呼び出す前にUpdateDataを呼び出すためにいつも叫んでいます。

今、値を取得する方法についてはわかりません。それは、私がMFCを非常に新しくしたことにも役立ちません。だからそれがある。とにかく、私は誰でも提供できる助けに感謝します。

〜ジョン

答えて

2

あなたがにupdateData()を使用するためにはDoModal()を呼び出す必要はありません。私はあなたが「叫ぶ」とは何を意味するのか分かりません。 UpdateData()を使用するには、DDXcode project articleも参照)を使用する必要があります。 dlg制御IDとデータメンバーを関連付けることによってDDXを既に使用しているかどうかは、あなたの質問からは明らかではありません。

シナリオでは、画面上の値をデータメンバーに保存するために、特定のダイアログから離れて移動するときにUpdateData()を呼び出す必要があります。

考えられる別の方法は、CPropertySheetに基づくツリーコントロールCTreePropSheetを使用することです。また、CTreePropertySheetをグーグル用のツリーコントロールの実装を見つけるためにgoogleすることもできます。

関連する問題