初学者vc++ 2008隐藏对话框问题?
我是一个初学者,建立了个基于对话框的应用程序!可是我却连隐藏窗口都搞不定,求指教!我是加了个BUTTON,代码如下:voidC新项目Dlg::OnBnClickedBut...
我是一个初学者,建立了个基于对话框的应用程序!可是我却连隐藏窗口都搞不定,求指教!我是加了个BUTTON,代码如下:
void C新项目Dlg::OnBnClickedButton1()
{
C新项目Dlg a;
a.ShowWindow(SW_HIDE);
}
可是一运行就会弹出一个框Debug Assertiong Failed!......让我选择终端,重试还是忽略!但是我如果把代码改为下面就成功了,这是为什么,错在哪?
void C新项目Dlg::OnBnClickedButton1()
{
::ShowWindow(this->m_hWnd,SW_HIDE);
} 展开
void C新项目Dlg::OnBnClickedButton1()
{
C新项目Dlg a;
a.ShowWindow(SW_HIDE);
}
可是一运行就会弹出一个框Debug Assertiong Failed!......让我选择终端,重试还是忽略!但是我如果把代码改为下面就成功了,这是为什么,错在哪?
void C新项目Dlg::OnBnClickedButton1()
{
::ShowWindow(this->m_hWnd,SW_HIDE);
} 展开
2个回答
展开全部
首先,你要隐藏自身窗口,可以使用
ShowWindow(SW_HIDE);
或者采用win32的同名方法,即你写的
::ShowWindow(this->m_hWnd,SW_HIDE);
你的代码
C新项目Dlg a;
a.ShowWindow(SW_HIDE);
相当于实例化了另外一个“C新项目Dlg”类的对象,并不是窗口自身,如果你一定要另外创建一个同类窗口,则必须在ShowWindow之前调用其Create方法,创建窗体,否则窗体不存在,会引发那个ASSERT失败的错误
ShowWindow(SW_HIDE);
或者采用win32的同名方法,即你写的
::ShowWindow(this->m_hWnd,SW_HIDE);
你的代码
C新项目Dlg a;
a.ShowWindow(SW_HIDE);
相当于实例化了另外一个“C新项目Dlg”类的对象,并不是窗口自身,如果你一定要另外创建一个同类窗口,则必须在ShowWindow之前调用其Create方法,创建窗体,否则窗体不存在,会引发那个ASSERT失败的错误
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询