您的位置:程序门 -> vc/mfc -> 基础类



自定义的对话框消息问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


自定义的对话框消息问题[已结贴,结贴人:facaile]
发表于:2007-06-11 11:53:54 楼主
自定义的对话框   dlgself  
在一个类中用到它
dlgself   mdlgself;
一般只用到
if(mdlgself.domodle==idok)
{
///自己的相应代码
}

但是如果对话框中还有另一个自定义按钮id_un_do
如何实现
int   nx=mdlgself.domodle();
if(nx==idok)
{
///自己的相应代码
}
else   if(nx==id_un_do)
{
/////!!!这里的消息不被响应!怎么回事????????
}
else   if(nx==idcancel)
{
}
else   ;
发表于:2007-06-11 11:56:211楼 得分:7
按钮消息自己实现。
domodal返回就两个:idok、idcancel
发表于:2007-06-11 11:57:282楼 得分:0
domodal返回时,意味着dialog被关掉了,究竟是怎么关掉的,看返回值
发表于:2007-06-11 11:57:423楼 得分:2
nx==id_un_do

表示对话框没有被执行
发表于:2007-06-11 11:58:264楼 得分:4
自己添加了,用classwizard,
发表于:2007-06-11 11:58:305楼 得分:0
对话框中响应那个按钮事件,里面写下面就可以了`
enddialog(id_un_do);
发表于:2007-06-11 12:00:486楼 得分:0
模态对话框相应ok和cancel时会关闭对话框
如果不想关闭可以添加自己的按钮然后添加自己的时间处理程序
发表于:2007-06-11 12:00:597楼 得分:15
你要自己重载onok()
函数,
然后在里面不要调用
cdialog::onok();
改成这样
if   (!updatedata(true))
{
trace0( "updatedata   failed   during   dialog   termination.\n ");
//   the   updatedata   routine   will   set   focus   to   correct   item
return;
}
enddialog(id_un_do);
id_un_do要是一个int型
发表于:2007-06-11 12:17:108楼 得分:0
多谢各位。我试试看。稍后再结贴。
发表于:2007-06-11 18:47:129楼 得分:0
我的方法是一个在dlgself类中响应id_un_do的函数onundo()中先
update(true);
//然后
enddialog(id_un_do);
发表于:2007-06-11 19:00:3610楼 得分:2
资源管理器,打开对话框资源,双击那个按钮,写处理代码


快速检索

最新资讯
热门点击