クラス ビューを使用して、クラスにメンバー変数を追加することができます。 メンバー変数は、データ交換とデータの入力規則に使用するか、一般にすることができます。 データ メンバー変数ウィザードは、関連情報を取得し、それを使用して適切な場所のソース ファイル内に要素を挿入するために設計されています。 リソース ビューのダイアログ エディターから、またはクラス ビューからメンバー変数を追加できます。
注意
ダイアログ ボックスを設計および実装しているときに、ダイアログ エディターを使用して、ダイアログ ボックス コントロールを追加し、コントロールのメンバー変数を実装するとより効率的である場合があります。
メンバー変数の追加ウィザードを使用して、リソース ビューにダイアログ コントロールのメンバー変数を追加するには:
リソース ビューでプロジェクト ノードとダイアログ ノードを展開して、プロジェクトのダイアログ ボックスのリストを表示します。
メンバー変数を追加するダイアログ ボックスをダブルクリックして、ダイアログ エディターで開きます。
ダイアログ エディターに表示されたダイアログ ボックスで、メンバー変数を追加するコントロールを右クリックします。
ショートカット メニューで、 [変数の追加] を選択してメンバー変数の追加ウィザードを表示します。
注意
既定値が既にコントロール ID に提供されています。
適切なウィザード ボックスに情報を指定します。 詳細については、「ダイアログ ボックス コントロールおよび変数の型」を参照してください。
[完了] を選択して、プロジェクトに定義と実装コードを追加し、ウィザードを閉じます。
メンバー変数の追加ウィザードを使用して、クラス ビューからメンバー変数を追加するには:
クラス ビューでプロジェクト ノードを展開して、プロジェクト内のクラスを表示します。
変数を追加するクラスを右クリックします。
ショートカット メニューで、 [追加] 、 [変数の追加] の順に選択して、メンバー変数の追加ウィザードを表示します。
適切なウィザード ボックスに情報を指定します。 詳細については、「メンバー変数の追加ウィザード」を参照してください。
[完了] を選択して、プロジェクトに定義と実装コードを追加し、ウィザードを閉じます。
このセクションの内容
メンバー変数の追加ウィザード
このウィザードでは、ヘッダー ファイルにメンバー変数宣言を追加できます。 オプションによっては、.cpp ファイルにコードを追加できます。 このウィザードを使用してメンバー変数を追加すると、開発環境でそのコードを編集できます。
アクセス
メンバー変数へのアクセス権を設定します。 アクセス修飾子とは、メンバー変数に対して他のクラスが持つアクセス権を指定するキーワードです。 アクセス権の指定の詳細については、「メンバー アクセス コントロール」を参照してください。 メンバー変数のアクセス レベルは、既定では
publicに設定されます。変数の型
追加するメンバー変数の戻り値の型を設定します。
ダイアログ ボックス コントロールではないメンバー変数を追加する場合は、利用可能な型のリストから選択します。
戻り値の型については、「基本型」を参照してください。
chardoublefloatintlongshortunsigned charunsigned intunsigned long
ダイアログ ボックス コントロールのメンバー変数を追加する場合、このボックスにはコントロールまたは値に対して返されるオブジェクトの型が入力されます。 [コントロール] を選択した場合、 [変数の型] により [コントロール ID] ボックスで選択したコントロールの基底クラスが指定されます。 ダイアログ ボックス コントロールに値を保持することができ、 [値] を選択した場合、 [変数の型] によってコントロールで保持できる値の適切な型が指定されます。 詳細については、「ダイアログ ボックス コントロールおよび変数の型」を参照してください。
この値は、 [コントロール ID] の選択内容によって異なり、変更することができません。
変数名
追加するメンバー変数の名前を設定します。 メンバー変数は、通常、既定で提供されている識別用文字列
m_で始まります。Control variable (コントロール変数)
メンバー変数が、データ交換とデータの検証をサポートしているダイアログ ボックス内のコントロールを管理することを示します。 詳細については、DoDataExchange に関するセクションを参照してください。 このオプションは、CDialog から派生したクラスに追加されたメンバー変数に対してのみ使用可能です。 [コントロール ID] と [コントロール型] オプションをアクティブ化するには、このボックスを選択します。
コントロール ID
追加するコントロール変数の ID を設定します。 メンバー変数を追加するコントロールの型の ID をリストから選択します。 このリストは、 [コントロール変数] ボックスが選択されている場合にのみアクティブとなり、さらにダイアログ ボックスに既に追加されているコントロールの ID に限定されます。 たとえば、標準的な [OK] ボタンの場合、コントロール ID は IDOK です。
オプション 説明 コントロール このオプションは、既定でコントロール型に設定されます。 このオプションでは、コントロールの状態やコンテンツ (リスト ボックス、コンボ ボックス、または編集ボックスで管理するように) ではなく、コントロール自体が管理されます。 [値] このオプションは、編集ボックスやチェック ボックスなど、値を保持したり状態を表示したりできるコントロール型で使用できます。 これはまた、範囲、コンテンツ、または状態の管理対象となるコントロール型でも利用できます。 詳細については、「ダイアログ ボックス コントロールおよび変数の型」を参照してください。 カテゴリ
変数の基となるのが、コントロールの種類とコントロール値のどちらであるかを指定します。
コントロール型
追加するコントロールの型を設定します。 このボックスは、変更できません。 たとえば、ボタンは BUTTON というコントロール型を持ち、コンボ ボックスは COMBOBOX というコントロール型を持ちます。 詳細については、「ダイアログ ボックス コントロールおよび変数の型」を参照してください。
最大文字数
[変数の型] が [CString] に設定されている場合にのみ使用できます。 コントロールで保持できる文字数の最大限度を示します。
最小値
変数の型が
BOOL、int、UINT、long、DWORD、float、double、BYTE、short、COLECurrency、または CTime である場合にのみ使用できます。 スケールまたは日付の範囲に許容される最小値を示します。最大値
変数の型が
BOOL、int、UINT、long、DWORD、float、double、BYTE、short、COLECurrency、またはCTimeである場合にのみ使用できます。 スケールまたは日付の範囲に許容される最大値を示します。.h ファイル
ActiveX コントロール場合、そのメンバー変数にはラッパー クラスが必要です。 ヘッダー ファイルの名前を設定し、クラス宣言を追加します。
.cpp ファイル
ActiveX コントロール場合、そのメンバー変数にはラッパー クラスが必要です。 実装ファイルの名前を設定し、クラス定義を追加します。
コメント
メンバー変数のヘッダー ファイルにコメントを挿入します。
ダイアログ ボックス コントロールおよび変数の型
メンバー変数の追加ウィザードを使用すると、MFC で作成したダイアログ ボックス コントロールにメンバー変数を追加できます。 メンバー変数を追加するコントロールの種類によって、ダイアログ ボックスに表示されるオプションが決まります。
次の表は、MFC とダイアログ エディターでサポートされているすべてのダイアログ ボックス コントロール型をまとめたものです。 また、それらの使用可能な型と値も示されています。
| コントロール | コントロール型 | コントロール変数の型 | 値変数の型 | 最小/最大値 (値の型のみ) |
|---|---|---|---|---|
| アニメーション コントロール | SysAnimate32 | CAnimateCtrl | なし、コントロールのみ | なし |
| ボタン | ボタン | CButton | なし、コントロールのみ | なし |
| チェック ボックス | チェック | CButton | BOOL |
最小値/最大値 |
| コンボ ボックス | コンボ ボックス | CComboBox | CString | 最大文字数 |
| 日時指定コントロール | SysDateTimePick32 | CDateTimeCtrl | CTime | 最小値/最大値 |
| エディット ボックス | 編集 | CEdit |
CString、int、UINT、long、DWORD、float、double、BYTE、short、BOOL、COleDateTime、または COleCurrency |
最小値/最大値、一部は最大文字数をサポート |
| ホット キー コントロール | msctls_hotkey32 | CHotKeyCtrl | なし、コントロールのみ | なし |
| リスト ボックス | リスト ボックス | CListBox | CString |
最大文字数 |
| リスト コントロール | SysListView32 | CListCtrl | なし、コントロールのみ | なし |
| 月間予定表コントロール | SysMonthCal32 | CMonthCalCtrl | CTime |
最小値/最大値 |
| プログレス コントロール | msctls_progress32 | CProgressCtrl | なし、コントロールのみ | なし |
| リッチ エディット 2 コントロール | RichEdit20A | CRichEditCtrl | CString |
最大文字数 |
| リッチ エディット コントロール | RICHEDIT | CRichEditCtrl |
CString |
最大文字数 |
| スクロール バー (垂直または水平) | SCROLLBAR | CScrollBar | int |
最小値/最大値 |
| Slider コントロール | msctls_trackbar32 | CSliderCtrl | int |
最小値/最大値 |
| スピン コントロール | msctls_updown32 | CSpinButtonCtrl | なし、コントロールのみ | なし |
| タブ コントロール | SysTabControl32 | CTabCtrl | なし、コントロールのみ | なし |
| ツリー コントロール | SysTreeView32 | CTreeCtrl | なし、コントロールのみ | なし |