Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Значения диалога 
:(
    Опции темы
bek08
Дата 11.1.2011, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем привет. Ребята как сдиалога возврашат значения (переменную) делаю так
Код

MyDlg a;//это окно который вызываю s тип CString
a.s="чтота";
//а главном окне так
MyDlg a,s;
CString st;
st=a.s;
//Потом ввывожу st но пусто ???


Не знаю вчем проблема раньше все нормално работал, что я не так делаю?
Пробовал по разному....
Может все дело в компиляторе? 
PM MAIL   Вверх
Earnest
Дата 12.1.2011, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

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



Скорее в полном непонимании мат-части.
Что такое автоматическая переменная, знаешь?
Ну и какое отношение "a" из первой строки имеет к "a" из 4 строки? С какой радости значение из первого "a" попадет во второе?


--------------------
...
PM   Вверх
bek08
Дата 12.1.2011, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо за ответ. Но что не понятного просто моем проге. нажимаеш кнопку открывается окно MyDlg а там Edit ну вот набираеш в эдите и нажимаеш ОК окно закрывается значения написанны от эдита не приходит в главное окно?

Добавлено через 9 минут и 23 секунды
Цитата(Earnest @  12.1.2011,  09:43 Найти цитируемый пост)
Что такое автоматическая переменная, знаешь?

Нет не знаю что подскажи! Только не молчи пожалуйста! 
P.S. А где увас тут кнопка спасибо!!!?
PM MAIL   Вверх
Albor
Дата 12.1.2011, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



После того как твой диалог закрылся, все его переменные уничтожены, поэтому, для модального окна проверяется значение, возвращаемое функцией DoModal()
Код

if(a.DoModal()==IDOK)// нажата кнопка ОК?
{// да
// здесь можно получить некоторые переменные диалога ( если это не окна - окна в этот момент разрушены уже)
}

Если окно немодальное, то до момента закрытия можешь обращаться к диалогу.
PM MAIL ICQ   Вверх
bek08
Дата 12.1.2011, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот посмотрите не судите жестко!

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  Ob_dannymi.rar 24,67 Kb
PM MAIL   Вверх
Albor
Дата 12.1.2011, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Это всё понятно, а что надо, то?
Код

void COb_dannymiDlg::OnOK() 
{
     MyDlg a;
     a.DoModal();
}

Дорабатываем данный код:
Код

void COb_dannymiDlg::OnOK() 
{
                 CString s;
     MyDlg a;
    if(IDOK== a.DoModal())
                      s=a.m_edit;
}

Если будет нажата кнопка ОК в MyDlg, то переменной s будет присвоено значение a.m_edit
Только лишние строки закоментируй здесь:
Код

void MyDlg::OnOK() 
{
    UpdateData(true);
    //MyDlg a;
    //a.m_edit=m_edit;    
    CDialog::OnOK();
}

PM MAIL ICQ   Вверх
bek08
Дата 12.1.2011, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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


 




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


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

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