MFC关于Create和DoModal创建对话框的有关问题
MFC关于Create和DoModal创建对话框的问题
我创建一个对话框资源,上面什么控件都没加,为什么我用Create创建可以出来,但是我往上面添加控件的时候,就Create不出来了,而用Domodal就可以出来。
其中代码如下:
m_selFace 是对话框对象;
//建立窗口
m_selFace.CreateExpression(this);
//移动窗口
CRect rcButton;
CSize ExpressSize;
m_selFace.GetFixSize(ExpressSize);
m_btFace.GetWindowRect(&rcButton);
m_selFace.MoveWindow(rcButton.right-ExpressSize.cx,rcButton.top-ExpressSize.cy,ExpressSize.cx,ExpressSize.cy);
m_selFace.ShowWindow(SW_SHOW);
m_selFace.SetFocus();
//建立函数
bool CSelFace::CreateExpression(CWnd * pParentWnd)
{
//设置变量
m_pParentWnd=pParentWnd;
//创建窗口
AfxSetResourceHandle(GetModuleHandle(CLIENT_SHARE_DLL_NAME));
Create(IDD_EXPRESSION2,pParentWnd);
AfxSetResourceHandle(GetModuleHandle(NULL));
//设置窗口
SetClassLong(m_hWnd,GCL_HBRBACKGROUND,NULL);
BringWindowToTop();
return true;
}
------解决方案--------------------
ShowWindow(SW_SHOW);
------解决方案--------------------
create和往界面上拖控件的作用是一样的,Domodal是打开一个已经create好的
PS:个人理解
------解决方案--------------------
那你Debug下调试一下,看看是哪个函数调用失败了?
我创建一个对话框资源,上面什么控件都没加,为什么我用Create创建可以出来,但是我往上面添加控件的时候,就Create不出来了,而用Domodal就可以出来。
其中代码如下:
m_selFace 是对话框对象;
//建立窗口
m_selFace.CreateExpression(this);
//移动窗口
CRect rcButton;
CSize ExpressSize;
m_selFace.GetFixSize(ExpressSize);
m_btFace.GetWindowRect(&rcButton);
m_selFace.MoveWindow(rcButton.right-ExpressSize.cx,rcButton.top-ExpressSize.cy,ExpressSize.cx,ExpressSize.cy);
m_selFace.ShowWindow(SW_SHOW);
m_selFace.SetFocus();
//建立函数
bool CSelFace::CreateExpression(CWnd * pParentWnd)
{
//设置变量
m_pParentWnd=pParentWnd;
//创建窗口
AfxSetResourceHandle(GetModuleHandle(CLIENT_SHARE_DLL_NAME));
Create(IDD_EXPRESSION2,pParentWnd);
AfxSetResourceHandle(GetModuleHandle(NULL));
//设置窗口
SetClassLong(m_hWnd,GCL_HBRBACKGROUND,NULL);
BringWindowToTop();
return true;
}
------解决方案--------------------
ShowWindow(SW_SHOW);
------解决方案--------------------
create和往界面上拖控件的作用是一样的,Domodal是打开一个已经create好的
PS:个人理解
------解决方案--------------------
那你Debug下调试一下,看看是哪个函数调用失败了?