У вас есть проблема там.Вы вызываете CMain :: Click для экземпляра CProjectDlg, но создаете новый экземпляр CProjectDlg внутри CMain :: Click и устанавливаете поле редактирования в этом новом диалоговом окне, а не в исходном.
Я не знаюЯ не знаю точно, что вы пытаетесь сделать, но одна вещь, которая может сработать, - это передать указатель на диалоговое окно конструктору CMain, а затем в CMain :: Click использовать его, не устанавливая поле редактирования.Примерно так:
//CMain.h
class CMain
{
public:
CMain(CProjectDlg*);
Click();
protected:
CProjecDlg* m_Dlg;
}
// CMain.cpp
CMain::CMain(CProjectDlg* dlg)
{
m_Dlg = dlg;
}
CMain::Click()
{
m_Dlg->m_edit1.SetString(L"This is a test.");
}
Кроме того, я не знаю, будет ли необходимо создавать новый экземпляр CMain каждый раз, когда пользователь нажимает на дно.
И, наконец,возможное решение, которое я предоставил, может сработать, но оно также может быть не «правильным».Но без более подробной информации о том, что вы пытаетесь сделать, я не смогу вам помочь.