hur.cn - 华软网

 热门搜索

子窗口的button的click事件没响应

  作者:未知    来源:网络    更新时间:2011/5/16
    新建一个mfc的对话框程序。主对话框记为a。。新建一个对话框记为b  , id:IDD_DIALOG1   。。

在a窗口里,写入如下代码
        CDialog dlg(IDD_DIALOG1,0);
dlg.DoModal();

在b窗口里,即子窗口里 双击 确定 按钮。。提示这是一个新的资源。。问是否要创建新的类。。。

我就新建了一个类。。

然后在双击 确定 按钮。。。就可以编辑代码

代码如下:
void CAboutDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
MessageBox("a");
//CDialogEx::OnOK();
}

结果:
    按主窗口a的确定按钮 可以 弹出 子窗口b。。

    然后再按 子窗口b的确定按钮。。为什么 没有提示 MessageBox啊。。
    而且。。我下了断点。。也没有经过
    MessageBox啊。。
    请问这是哪里错了。。
    各位大大。。谢啦。。
    这问题困扰我。一天了啊。。
---华软 网友回答---
大家看看啊。。。谢啦啊。
---华软网友回复---
Caboutdlg是MFC工程建立时向导生成的类,用于产生关于对话框,OnBnClickedOk的位置加错了。
---华软网友回复---
1:除非是就为了显示对话框,否则要生成新类,标准的CDialog除了标准的操作外什么多不做,一般不能满足需求
2 如2楼所说,加的位置不对,也可以重载OnOK来处理
---华软网友回复---
新建对话框应该为这个对话框做一个类
你把这个对话框的按钮消息连到CAboutDlg里怎么会有效果
---华软网友回复---
确实。。我实验了。。必须用对话框类生成对象才行。。

用cdialog 创建一个关联对话框对象不能响应事件啊。。这是为什么啊。。

就是假如。。对话框类为  CTest ....资源为  IDD_DLG_TEST

必须这样  CTest test;

---华软网友回复---
test.DoModal()才行。。
。。
用Cdialog dlg(IDD_DLG_TEST,0);
dlg.DoModal()的。。不行啊      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。