动态的创建对话框:例如,我点击按钮,就会出现一个对话框,再点击就没了!
首先,对某一个按钮使用类向导如图:
然后,添加一个成员CBUTTON类型的成员变量:在增加一个BOOL类型的变量iscreate;并在构造函数中设置为FALSE
最后编辑代码:
void CTestDlg::OnAddWin()
{
// TODO: Add your control notification handler code here
if(m_iscreate==FALSE)
{
m_btn.Create("nefu",WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,CRect(10,40,100,70),this,123);
m_iscreate=TRUE;
}
else
{
m_btn.DestroyWindow();
m_iscreate=FALSE;
}
}
还有一种更简单的创建方法:
if(!m_btn.m_hWnd)
m_btn.Create("nefu",WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,CRect(10,40,100,70),this,123);
else
m_btn.DestroyWindow();
这里用到的是:每当一个窗口被创建的时候,那么与其对应的类中的m_hWnd就会保存当前窗口的句柄!