我是MFC的新手,我想在Dialog中获取一些数据,但这不起作用,
CTestDoc* pDoc=GetDocument();
pDoc->Get(...);
我谷歌并找到仅在CView中使用的GetDocument()。 所以我试试这个并且确实有效:
CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd;
CTestView *pView=(CTestView *)pMain->GetActiveView();
m_name=pView->v_name;
但我不认为这是一个很好的解决方案,所以我想知道是否有任何功能可以解决这个问题?谢谢。
答案 0 :(得分:1)
您没有说出对话框的功能,但可能需要将此数据传递给对话框,而不是让对话框直接访问文档数据。这有助于使对话更加孤立,更有可能在其他程序中使用。
我会看一下显示对话框的命令。它在视图中吗?如果是这样,那么您可以传递对话框所需的文档数据。如果没有,那么您发布的代码可能仍然有意义。无论哪种方式,您应该找到所需的文档信息,然后将其传递给对话框。
如果没有必要,我会避免让对话框直接知道文档。
答案 1 :(得分:0)
如果要从对话框中获取数据,请先设置数据,然后再获取数据。
例如:
CString save;
filePath.GetWindowsText(save);
richBox1.AddString(save); // to display in another box