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

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

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

また、ダイアログ データ検証 (DDV) を使用して、ダイアログ コントロールの値が自動的に検証されるようにすることもできます。

DDX とDDV の詳細については、「ダイアログ データ エクスチェンジとダイアログ データ検証」で説明されています。

モーダル ダイアログ ボックスの場合、DoModal が IDOK を返すときに、ダイアログ オブジェクトが破棄される前に、ユーザーが入力したデータを取得できます。 モードレス ダイアログ ボックスの場合、引数 TRUE を指定して UpdateData を呼び出し、ダイアログ クラスのメンバー変数にアクセスすることで、ダイアログ オブジェクトからいつでもデータを取得できます。 この詳細については、「ダイアログ データ エクスチェンジとダイアログ データ検証」で説明されています。

関連項目

MFC でのダイアログ ボックスの操作