![]() |
|
|
![]()
|
|
| WIMM |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 3.1.2009 Репутация: нет Всего: нет |
Пытаюсь создать простейшее диалоговое окно.
Суть в том, что в текстовое поле Edit Control вводится текст, и при нажатии на кнопку Ok выводится сообщение, содержащее текст из Edit Control Правой кнопкой кликаю по Edit Control, вызываю мастера Add Variable... ![]() После этого, добавляю в обработчик кнопки Оk такой вот кодик: void CHelloDialogDlg::OnBnClickedOk() { UpdateData(TRUE); AfxMessageBox(myText); } По идее, переменной myText должно передаться значение текстового поля и это, в свою очередь, должно отобразиться в сообщении. А у меня выскакивает сообщение, не содержащее текста. Когда я пробую вручную поменять значение myText (myText = "Hello"), то выскакивает сообщение с текстом "Hello". Выходит, проблема в функции UpdateData()? Подскажите пожалуйста что-нибудь по этому поводу... |
|||
|
||||
| WIMM |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 3.1.2009 Репутация: нет Всего: нет |
Только что прочитал о Debug в VS и вроде бы разобрался. Почему то, мастер добавления переменной в функции не сгенерировал следующую строку:
DDX_Text(pDX, IDC_EDIT2, myText); Вот этот фрагмент: void CHelloDialogDlg::DoDataExchange(CDataExchange* pDX) { DDX_Text(pDX, IDC_EDIT2, myText); // вот этой строки не было CDialog::DoDataExchange(pDX); } Из-за чего такое могло случиться, кто знает? |
|||
|
||||
| KEHT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 17.7.2006 Репутация: 1 Всего: 1 |
Надо было нажать галочку "Control Variable" и выбрать id нужного контрола, вашем в случае IDC_EDIT2
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |