0

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

谢谢,詹姆斯

4

1 回答 1

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;
}
于 2012-07-18T17:31:23.943 回答