我想使用SDI MFC打开一个对话框并在编辑控件中显示计算结果,但没有';行不通

我想使用SDI MFC打开一个对话框并在编辑控件中显示计算结果,但没有';行不通,mfc,Mfc,问题是编辑框无法显示数字“imgOutput.PixelCount(&imgInput)”,但显示“0” 这是一个修改过的版本 void CMyProgramView::OnPixelCount() { } BOOL CDlgPixelCount::OnInitDialog() { CDialog::OnInitDialog() } 问题仍然存在……在调用DoModal之前,对话框控件不存在。因此,要将文本放入对话框控件,需要两个步骤。首先将文本放入对话CString成员变量中,在DoMo

问题是编辑框无法显示数字“imgOutput.PixelCount(&imgInput)”,但显示“0”

这是一个修改过的版本

void CMyProgramView::OnPixelCount()
{

}

BOOL CDlgPixelCount::OnInitDialog()
{ CDialog::OnInitDialog()

}


问题仍然存在……

在调用DoModal之前,对话框控件不存在。因此,要将文本放入对话框控件,需要两个步骤。首先将文本放入对话CString成员变量中,在DoModal之前。然后在对话框类OnInitDialog中存在控件,因此可以使用SetWindowText或UpdateData将文本传输到控件中

在视图代码的上下文中调用UpdateData对dialog类没有任何作用。该问题可能出现在对话框代码中。请发布对话框代码,特别是OnInitDialog()。您能告诉我在OnInitDialog()中要做什么吗?我是MFCT的新手。有几种方法,具体取决于您如何设置m_editPixelNumber变量。它的类型是什么,在DoDataExchange中是如何初始化的?你可以在网上搜索MFC教程,并取得更快的进展。
BOOL CDlgPixelCount::OnInitDialog()
CMainFrame *pMain = (CMainFrame*)AfxGetMainWnd();   
CMyProgramDoc *pDoc = (CMyProgramDoc*)pMain->GetActiveDocument();

CImg imgInput = pDoc->m_Image;

CImg imgOutput = imgInput;

m_editPixelNumber = imgOutput.PixelCount(&imgInput);

UpdateData(false);

return TRUE;  // return TRUE unless you set the focus to a control