CDialog *dlg=new CDialog;
dlg->Create(TABLE_ADD);
dlg->ShowWindow(SW_SHOW);通过以上打开一个新的对话框  可是在新打开的对话框中添加按钮并加入单击执行函数后 
运行却不执行函数  添加断点后发现根本就没执行
void CTABLE_ADD::OnBnClickedButton1()
{
CDB dbm; UpdateData(TRUE);
CString tn;
tn=m_not;
if (m_not=="")
{
AfxMessageBox("!!!!!");
}
else dbm.crttable(tn);

}还望各位赐教 我是不是漏了哪些地方没添加

解决方案 »

  1.   

    你的OnBnClickedButton1函数是针对不同的Create(TABLE_XXX)做处理吧?
    我想问的是你新创建的类CXXXAdd这个类跟CDialog是什么关系?简单的继承的话是不行的吧?调试的时候打开Trace的选项,仔细看看。
      

  2.   

    因为楼主的程序写的根本就不对。
    很明显:
    CDialog *dlg=new CDialog;
     dlg->Create(TABLE_ADD);
     dlg->ShowWindow(SW_SHOW);
    创建的是基于CDialog类的非模态对话框,但是,你的按钮响应函数却是CTABLE_ADD类的一个成员函数void CTABLE_ADD::OnBnClickedButton1() !这样能正常工作的话就怪了。
    你应该首先:
    将CTABLE_ADD声明为CDialog的派生类,即:class CTABLE_ADD : public CDialog
    然后:CTABLE_ADD *dlg=new CTABLE_ADD ;
     dlg->Create(TABLE_ADD);
     dlg->ShowWindow(SW_SHOW);
      

  3.   

    在函数最前面加一个 MessageBox 看看?