请教一个对话框类不能响应onok函数的问题
我写了一段程序,利用一个对话框CAddPageDlg对数据库中的两个表进行插入操作。可以从两个地方打开 对话框,
void CCBTDlg::OnAddBtn()
{
CAddPageDlg* pPageDlg;
......
case 2: //click section,add page
pPageDlg = new CAddPageDlg(true,rsID,-1);
pPageDlg->DoModal();
delete pPageDlg;
break;
case 3: //click page,add page
pPageDlg = new CAddPageDlg(false,-1,rsID);
pPageDlg->DoModal();
delete pPageDlg;
break;
......
}
由于需要给对话框传递一些数据,所以我修改了对话框的构造函数,所以使用指针来操作对话框
CAddPageDlg::CAddPageDlg(BOOL bl,long upID,long ID,CWnd* pParent /*=NULL*/)
: CDialog(CAddPageDlg::IDD, pParent)//此处true为从section进入,false为从page
//进入,均 为添加页
{
//{{AFX_DATA_INIT(CAddPageDlg)
//}}AFX_DATA_INIT
sectionID = pageID = -1;
if(bl) sectionID = upID;
else pageID = ID;
this->bl = bl;
db.Open(_T("CBTDB"));
}
同时,在对话框CAddPageDlg中对onok进行响应,进行一些数据库操作
void CAddPageDlg::OnOK()
{
// TODO: Add extra validation here
.....
CDialog::OnOK();
}
现在出现的问题是:从case 2可以正常进行操作,从case 3可以打开对话框并在OnInitDialog中对对话框 显示数据进行初始化,但是我点击‘确认’——原来的ok按钮,没有进行任何改动——没有任何响应,在 调试中发现,连onok函数都没有进;点击‘取消’按钮响应正常(就是退出了)。请教各位这是什么问题 怎么解决。
问题点数:30、回复次数:4Top
1 楼gonghai78(wo kao!)回复于 2005-07-22 18:10:56 得分 0
case 2: case 3:调用的构造函数,参数顺序不一样Top
2 楼gonghai78(wo kao!)回复于 2005-07-22 18:11:13 得分 0
case 2: case 3:调用的构造函数,参数顺序不一样Top
3 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-07-22 21:35:08 得分 0
如上,参数顺序不一致Top
4 楼handsomerun(毛毛)回复于 2005-07-22 22:03:50 得分 30
楼主是不是故意把参数顺序弄得不一样的??Top
相关问题
- 在对话框中响应IDOK的函数中怎样进行绘图?
- 是不是除对话框外,所有控件不能响应SetWindowPos函数?
- 对话框 函数给
- ATL地不支持MFC地DLL,其中Create了一个对话框,怎么处理对话框控件的响应函数?
- 请教:我在CMyView中的菜单消息响应函数中调用一个对话框,为什么有的能打开,有的对话框打不开?
- 请教:我在CMyView中的菜单消息响应函数中调用一个对话框,为什么有的能打开,有的对话框打不开?
- 急:关于对话框的OnPaint()函数
- 寻求在非模式对话框上使用定时器的方法,即使非模式对话框本身或其上子窗口在SetTimer后响应OnTimer函数
- 如何调用对话框的成员函数而不显示对话框。
- 如何在其它对话框中调用某对话框的OnEraseBkgnd()函数?




