ROOTStudy

水曜日, 5月 09, 2007

トラブル:VC++6.0でテキストボックスオブジェクトの値を取得できない


Visual Basic6.0以降ではテキストボックスは「オブジェクト」であって、

ダイアログから

a = TextBox1.value

のように値を取得できるが、

Visual C++6.0ではプロパティボックスが存在しない。


これはダイアログ自体の「メンバ変数」としてテキストボックスの

値取得・設定を行うような操作にユーザーからは見える。


ダイアログを出してテキストボックスを作成した後、

テキストボックスを右クリック→ClassWizardで

メンバIDと変数の表が現れる。

これに値のタイプと変数を入力すれば

(たとえば、TextBox1にm_text1というdouble型変数を割り付けた場合)

クラス外ではCXXXDlg.m_text1のようにして使える。

CXXXDlgクラス内では変数m_text1として使える。
値の取得にはUpdateData(TRUE);
を取得前に行い、
値の設定にはUpdateData(FALSE);
を設定後に行う。