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


Автор: po-her 6.1.2005, 22:13
Такая проблема:
Создаю обыкновенное SDI окно. Включаю в него диалоговое окно. В Dialog Modal Только полоска Edit. Как мне при нажатии OK переменную типа CString из "дИалога" запомнить в классе CView? а затем вывести на экран...Подскажите.... smile

Автор: Laco 8.1.2005, 18:53
В общем достаточно просто:
1. В диалог добавляется переменная - член класса типа CString
Код

class CEditDlg : public CDialog
{
...
public:
   CString m_strEdit;
};
Затем в DoDataExchange добавляется строка DDX_Text(pDX, IDC_EDIT1, m_strEdit);
Код

void CEditDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_strEdit);
}

И теперь можно использовать диалог :
Код

CString strInput;
CEditDlg dlg;

if(IDOK == dlg.DoModal())
{
   strInput =dlg.m_strEdit;
}
Остальное тривиально smile Удачи

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