次の方法で共有


ダイアログ オブジェクトからのデータの取得

更新 : 2007 年 11 月

フレームワークには、ダイアログ ボックスのコントロールの値を初期化したり、コントロールから値を取得したりするための簡単な手段が用意されています。手間のかかる手動の方法は、コントロール ウィンドウに適用される、CWnd クラスの SetDlgItemText メンバ関数や GetDlgItemText メンバ関数などの関数を呼び出すことです。それらの関数を使用する場合は、SetWindowTextGetWindowText などの関数を呼び出すことにより、各コントロールに個別にアクセスして値を設定または取得します。フレームワークで用意されている手段では、初期化と取得の両方が自動化されます。

ダイアログ データ エクスチェンジ (DDX: Dialog Data eXchange) では、ダイアログ ボックスのコントロールとダイアログ オブジェクトのメンバ変数の間で、簡単にデータを交換できます。このデータ交換は、双方向で機能します。ダイアログ ボックスのコントロールを初期化するには、ダイアログ オブジェクトのデータ メンバの値を設定します。その値は、ダイアログ ボックスが表示される前にフレームワークによってコントロールに転送されます。ダイアログのデータ メンバは、ユーザーが入力したデータでいつでも更新できます。更新されたデータは、データ メンバ変数を参照することによって使用できます。

ダイアログ データ バリデーション (DDV: Dialog Data Validation) を使用すると、自動的にチェックされたダイアログ コントロールの値を整理できます。

DDX と DDV の詳細については、「ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

モーダル ダイアログ ボックスの場合は、DoModal によって IDOK が返されてから、ダイアログ オブジェクトが破棄されるまでの間にユーザーの入力したデータを取得できます。モードレス ダイアログ ボックスの場合は、引数が TRUEUpdateData を呼び出してから、ダイアログ クラスのメンバ変数にアクセスすると、いつでもダイアログ オブジェクトからデータを取得できます。詳細については、「ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。

参照

概念

ダイアログ ボックスの有効期間