如果有人能帮助我,我会非常感激吗?我正在尝试创建一个对话框,其中包含一个文本框,用于接收错误消息。我已将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组合?
谢谢, 詹姆斯
答案 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;
}