关于子对话框的问题,CDialog:Create的对话框怎么样初始化

无来 2006-10-16 03:50:12
在网上下载了一个向导对话框,但是发现创建对话框后,子对话框不能够被初始化。子对话框的构造函数没有被调用,OnInitDialog() 、OnCreate(LPCREATESTRUCT lpCreateStruct)、
Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
没有一个被调用的,怎么样初始化子对话框中的控件?
创建函数的原型如下:
void CWizard::AddPage(UINT nID)
{
struct PAGELINK* pTemp=pPageLink;
//插入新生成的结点
struct PAGELINK* pNewPage=new struct PAGELINK;
pNewPage->pDialog=new CDialog;
ASSERT(pNewPage->pDialog->Create(nID,this));
// Is window created
ASSERT(::IsWindow(pNewPage->pDialog->m_hWnd));
// 检查每页的样式
DWORD dwStyle = pNewPage->pDialog->GetStyle();
ASSERT((dwStyle & WS_CHILD) != 0); //子窗体
ASSERT((dwStyle & WS_BORDER) == 0); //无边界
//显示
pNewPage->pDialog->ShowWindow(SW_HIDE);
pNewPage->pDialog->MoveWindow(rectPage);
/*pNewPage->pDialog->SetWindowPos(&CWnd::wndTop,
rectPage.left,rectPage.top,
rectPage.Width(),rectPage.Height(),
SWP_NOMOVE);*/
pNewPage->Next=NULL;
pNewPage->nNum=++nPageCount; //计数器加1
if (pTemp)
{
while (pTemp->Next) pTemp=pTemp->Next; //移动链表末尾
pTemp->Next=pNewPage;

}
else
pPageLink=pNewPage; //若是第一个接点
}

...全文
218 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
无来 2006-10-16
  • 打赏
  • 举报
回复
重载后设置端点,没有中断下来
zhucde 2006-10-16
  • 打赏
  • 举报
回复
在它的OnInitDialog中初始化.

在类向导中重载WM_INITDIALOG

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧