次の方法で共有


コード ウィザードを使用した、コントロールへのタイプ セーフ アクセス

ダイアログ データ エクスチェンジ (DDX: Dialog Data Exchange) の機能に慣れている場合は、メンバー変数の追加ウィザード で Control プロパティを使用してタイプ セーフ アクセスを作成できます。 この方法は、コード ウィザードを使用しないでコントロールを作成するよりも簡単です。

単純にコントロールの値にアクセスするだけの場合は、DDX を使用してください。 コントロールの値でアクセス以外の操作をする必要がある場合は、メンバー変数の追加ウィザードを使用して、適切なクラスのメンバー変数をダイアログ クラスに追加します。 このメンバー変数は、Control プロパティに結び付けます。

メンバー変数では、Value プロパティの代わりに Control プロパティを使用できます。 Value プロパティは、コントロールから返されるデータの型 (CString や int など) を表します。 Control プロパティは、型が MFC のコントロール クラスの 1 つ (CButtonCEdit など) であるデータ メンバーを通じてコントロールに直接アクセスできます。

注意

特定のコントロールでは、必要に応じて Value プロパティを使用する複数のメンバー変数を設定できますが、Control プロパティを使用するメンバー変数は 1 つしか設定できません。 コントロールに割り当てることができるのは 1 つの MFC オブジェクトだけです。なぜなら、コントロールやほかのウィンドウに複数のオブジェクトがアタッチされると、メッセージ マップが不明確になるためです。

このオブジェクトを使用すると、コントロール オブジェクトのどのメンバー関数でも呼び出すことができます。 このような呼び出しは、ダイアログ ボックスのコントロールに影響します。 たとえば、CButton 型の変数 m_Checkbox で表されるチェック ボックス コントロールの場合は、次のように呼び出すことができます。

m_Checkbox.SetCheck(BST_CHECKED);

このメンバー変数 m_Checkbox は、「コード ウィザードを使用しない、コントロールへのタイプ セーフ アクセス」で示されている GetMyCheckbox メンバー関数と同じ役割を果たします。 自動チェック ボックスではない場合は、ボタンがクリックされたときの BN_CLICKED コントロール通知メッセージを処理するハンドラーがダイアログ クラスで必要となります。

コントロールの詳細については、「コントロール」を参照してください。

参照

概念

ダイアログ ボックスのコントロールへのタイプ セーフ アクセス

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

コード ウィザードを使用しない、コントロールへのタイプ セーフ アクセス