none
VS2010 Dialog Button RRS feed

  • 问题

  • 我vs2010中,建了个MFC工程,添加一个对话框资源,并与之关联了个对话框类,在对话框中资源中添加按钮,并添加消息响应处理,运行,点击添加的按钮就是无法得到响应,而上面本来就有的OK和CANCEL按钮有响应,请教该怎么解决?

    2011年10月5日 15:26

全部回复

  • 如果消息连接正确按钮是一定会有响应的

    你可以下个断点调试一下

    2011年10月6日 1:21
  • 测试了断点调试

    点击Button1 程序没有执行到此断点

    2011年10月6日 3:06
  • OnInitDialog这个函数是否能够进去?
    麻烦把正确答案设为解答。
    2011年10月6日 3:52
    版主
  • 我不是基于对话框工程,是在MFC工程里添加了一个对话框资源,是此对话框上面的按钮无响应,不过我也建了一个基于对话框工程,那上面的按钮能得到响应,我有时想

    是不是新添加的类没有被调用,我测试了下OK按钮,虽然它有响应,它并没有执行我添加的代码,2010非常奇怪!!!

     

    还有个小问题我还想问下,这论坛上有这么多“回复”,有什么不同?呵

    2011年10月6日 11:20
  • 在程序中添加了OnInitDialog 虚函数,调试发现没有进
    2011年10月6日 14:05
  • 你这个资源对话框是怎么调用的

    2011年10月7日 2:32
  • 您的程序中怎么使用这个对话框的类的呢?


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    2011年10月8日 2:41
    版主
  • 不是很明白

    就是按照孙鑫教程上写的,

    先添加一个对话框类,并与资源关联,

    class CTestDlg : public CDialogEx
    {
     DECLARE_DYNAMIC(CTestDlg)

    public:
     CTestDlg(CWnd* pParent = NULL);   // standard constructor
     virtual ~CTestDlg();

    // Dialog Data
     enum { IDD = IDD_DIALOG1 };

    protected:
     virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support

     DECLARE_MESSAGE_MAP()
    public:
     afx_msg void OnBnClickedOk();
     afx_msg void OnBnClickedButton1();
     afx_msg void OnDlg();
    };

     

    这就是关联的类

    2011年10月11日 10:50
  • 找到问题所以然了,硬折腾了我五六天,谢谢各位的帮助! 还是我对这面向对象编程理解得不咋地,,,,

    简单的说下,我不是创建了一个对话框资源,并与之关联了一个对话框类,然后在view类的弹出此对话框,我不是用我派生的类去实例对象,而还是硬抄教程上的CDialog,

    这也就导致我当时调试时发现我派生的类初始化函数都没有调用的原因

    2011年10月13日 5:13