Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Как отобразить переменные другог класса?


Автор: avel 12.5.2006, 23:31
В  SDI приложении данные от пользователя принимает класс,назовем его, CVvodDialog где есть открытая переменная m_tarif.
Подскажите, пожалуйста, как значение этой переменной вывести на экран в класе CView. smile 

Пожалуйста кто знает поделитесь. smile  

Автор: Dray 13.5.2006, 00:01
Код

view.SetWindowText (vvod.m_tarif);// view - CView, vvod - CVvodDialog

В зависимости от того какого типа m_tarif! Если int, то:
Код

CString str;
str.Format("%d", vvod.m_tarif);
view.SetWindowText (str);
 

Автор: avel 13.5.2006, 07:01
Спасибо за помощь! smile Жаль не имею права нажать плюсик ещё молодой.Зелёный чайник smile  

Автор: Dray 13.5.2006, 18:41
[censored 2] что-то я не совсем то написал, чтоб просто на окно вывести, скорее всего так:
Код

    TextOut(GetDC ()->m_hDC , 20, 20, vvod.m_tarif, 1024);
    Invalidate (FALSE);
 

Автор: avel 14.5.2006, 19:49
Ты знаешь компилируется приложение, но немного проработав оснанавливается возникает отчёт о ошибке. видно что-то не так. smile  

Автор: Dray 14.5.2006, 23:04
После этого:
Код
CString str;
str.Format("%d", vvod.m_tarif);
view.SetWindowText (str);

Или после этого:
Код
TextOut(GetDC ()->m_hDC , 20, 20, vvod.m_tarif, 1024);
Invalidate (FALSE);
 

Автор: avel 15.5.2006, 18:56
Спасибо за советы я допетрил сам.Оказывается всё очень просто.В функции где выводится диалоговое окно послекоманды ввода ОК надо было вставить Invalidate(FALSE) вот пример :
Код

CVvodDialog dlg;
if (dlg.DoModal()==IDOK)
{
    tarif=dlg.m_tarif;
    Invalidata(FALSE);
}

Вот и всё  smile проще некуда. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)