我想使用SDI MFC打开一个对话框并在编辑控件中显示计算结果,但不起作用

时间:2014-03-04 12:33:20

标签: mfc

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

这是修改后的版本。

void CMyProgramView::OnPixelCount()

{

BeginWaitCursor();

CDlgPixelCount dlgPara;

dlgPara.DoModal();

EndWaitCursor();

}

............

BOOL CDlgPixelCount::OnInitDialog()

{     CDialog的:的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

}

问题仍然......

1 个答案:

答案 0 :(得分:2)

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

相关问题