CDialogEx对象中的MFC CEdit对象

时间:2012-07-18 17:12:01

标签: c++ mfc

如果有人能帮助我,我会非常感激吗?我正在尝试创建一个对话框,其中包含一个文本框,用于接收错误消息。我已将ON_WM_CREATE添加到消息映射中,并编写了调试所经过的此函数,但该对象未显示。

int CImportDatatoAPMDlg::OnCreate(LPCREATESTRUCT LpCreateStruct)
{
    if(CWnd::OnCreate(LpCreateStruct) == -1)
    {
        return -1;
    }
    CEdit *MessageBox = new CEdit;

    MessageBox->Create(WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_AUTOVSCROLL,CRect(100, 200, 450, 150), this, 0x1552);

    return 0;
}

在设计对话框时,是否必须制作一个虚拟框。我已经为其余的控件做了这个吗?我也想知道我在哪里给这个对象一个数字ID组合?

谢谢, 詹姆斯

1 个答案:

答案 0 :(得分:1)

您通常应使用VisualStudio资源编辑器向对话框添加控件。如果您想手动执行此操作,请在覆盖的OnInitDialog方法中创建和添加控件:

BOOL CImportDatatoAPMDlg::OnInitDialog() {
 BOOL bRes = CDialog::OnInitDialog();

   CEdit *MessageBox; // !!! put it into class definition
   MessageBox = new CEdit

   MessageBox->Create(WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_AUTOVSCROLL,CRect(100, 200, 450, 150), this, 0x1552);

   return bRes;
}