自己写了一个类,从CButton继承,重载了DrawItem(...),在视类的函数OnCreate()中创建该按钮的实体并且在视类中响应单击ON_BN_CLICKED。
类本身没什么,表现正常,但是以Release版本运行时,视类响应单击按钮的消息响应函数在返回后会出错("0x00000065"指令引用的"0x00000065"内存。该内存不能为"read"),偏偏消息响应函数内部的执行也正常???????
请指教是怎么回事,如何解决?

解决方案 »

  1.   

    当然指定了BS_OWNERDRAW属性,我写这个类的目的就在于此啊!在视类中:
    声明:
    afx_msg int  OnBnClick(WPARAM wParam,LPARAM lParam);
    映射:
    ON_BN_CLICKED(ID_IB1,OnBnClick)
    实现:
    int  CNewButton2View::OnBnClick(WPARAM wParam,LPARAM lParam)
    {
        AfxMessageBox("响应单击");
        return 0;
    }问题在那?
      

  2.   

    改为:在视类中:
    声明:
    afx_msg void  OnBnClick();
    映射:
    ON_BN_CLICKED(ID_IB1,OnBnClick)
    实现:
    void CNewButton2View::OnBnClick()
    {
        AfxMessageBox("响应单击");
        return;
    }
    问题即可解决.