ダイアログ オブジェクトからのデータの取得
更新 : 2007 年 11 月
フレームワークには、ダイアログ ボックスのコントロールの値を初期化したり、コントロールから値を取得したりするための簡単な手段が用意されています。手間のかかる手動の方法は、コントロール ウィンドウに適用される、CWnd クラスの SetDlgItemText メンバ関数や GetDlgItemText メンバ関数などの関数を呼び出すことです。それらの関数を使用する場合は、SetWindowText や GetWindowText などの関数を呼び出すことにより、各コントロールに個別にアクセスして値を設定または取得します。フレームワークで用意されている手段では、初期化と取得の両方が自動化されます。
ダイアログ データ エクスチェンジ (DDX: Dialog Data eXchange) では、ダイアログ ボックスのコントロールとダイアログ オブジェクトのメンバ変数の間で、簡単にデータを交換できます。このデータ交換は、双方向で機能します。ダイアログ ボックスのコントロールを初期化するには、ダイアログ オブジェクトのデータ メンバの値を設定します。その値は、ダイアログ ボックスが表示される前にフレームワークによってコントロールに転送されます。ダイアログのデータ メンバは、ユーザーが入力したデータでいつでも更新できます。更新されたデータは、データ メンバ変数を参照することによって使用できます。
ダイアログ データ バリデーション (DDV: Dialog Data Validation) を使用すると、自動的にチェックされたダイアログ コントロールの値を整理できます。
DDX と DDV の詳細については、「ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。
モーダル ダイアログ ボックスの場合は、DoModal によって IDOK が返されてから、ダイアログ オブジェクトが破棄されるまでの間にユーザーの入力したデータを取得できます。モードレス ダイアログ ボックスの場合は、引数が TRUE の UpdateData を呼び出してから、ダイアログ クラスのメンバ変数にアクセスすると、いつでもダイアログ オブジェクトからデータを取得できます。詳細については、「ダイアログ データ エクスチェンジとダイアログ データ バリデーション」を参照してください。