MFCでC++のダイアログ作成を勉強しています。(C++初心者です)
やりたいことは
①メニューバーからダイアログを開く
②ダイアログには「A」という文字を表示させ、OKボタンを押すと次ダイアログを開いた時は「B」を表示させる
キャンセルはそのまま。
③Bの時にOKを押したらまたAに戻る
ところが、②の段階で最初にダイアログを開いた時点で文字が表示されておらず(リソースビューでは「A」を記載しています)、下記のソースで「B」にしても次にダイアログを開くときはまた文字が表示されていない状態です。
デバッグしたところ、Bの表示自体はUpdateDataの部分で確かに適用されているようです。
ご教示のほどお願いいたします。
void CTest::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); //対象の文字IDと変数を紐づけ DDX_Text(pDX, IDC_TEST_STATIC, m_test); } BEGIN_MESSAGE_MAP(CTest, CDialogEx) ON_BN_CLICKED(IDOK, &CTest::OnBnClickedOk) END_MESSAGE_MAP() void CTest::OnBnClickedOk() { m_test="B"; UpdateData(FALSE); MessageBox(_T("test")); // TODO: ここにコントロール通知ハンドラー コードを追加します。 CDialogEx::OnOK(); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/12 12:38