Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемма с функцией CDialog::UpdateData(), не соответствует книжному примеру 
:(
    Опции темы
WIMM
Дата 3.1.2009, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.1.2009

Репутация: нет
Всего: нет



Пытаюсь создать простейшее диалоговое окно.
Суть в том, что в текстовое поле Edit Control вводится текст, и при нажатии на кнопку Ok выводится сообщение, содержащее текст из Edit Control
Правой кнопкой кликаю по Edit Control, вызываю мастера Add Variable...
user posted image
После этого, добавляю в обработчик кнопки Оk такой вот кодик:

void CHelloDialogDlg::OnBnClickedOk()
{
  UpdateData(TRUE);
  AfxMessageBox(myText);
}

По идее, переменной myText должно передаться значение текстового поля и это, в свою очередь, должно отобразиться в сообщении. А у меня выскакивает сообщение, не содержащее текста. Когда я пробую вручную поменять значение myText (myText = "Hello"), то выскакивает сообщение с текстом "Hello". Выходит, проблема в функции UpdateData()?
Подскажите пожалуйста что-нибудь по этому поводу...
PM MAIL   Вверх
WIMM
Дата 3.1.2009, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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);
}


Из-за чего такое могло случиться, кто знает?
PM MAIL   Вверх
KEHT
Дата 6.1.2009, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 17.7.2006

Репутация: 1
Всего: 1



Надо было нажать галочку "Control Variable" и выбрать id нужного контрола,  вашем в случае IDC_EDIT2
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0408 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.