CDialogEx对象中的MFC CEdit对象

MFC CEdit object in a CDialogEx object

本文关键字:对象 CEdit MFC CDialogEx      更新时间:2023-10-16

如果有人能帮我,我将不胜感激?我正在尝试创建一个对话框,其中包含一个用于接收错误消息的文本框。我已经将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组合?

谢谢,James

您通常应该使用VisualStudio资源编辑器将控件添加到对话框中。如果你想手动完成,那么在overriden 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;
}