想把制作  自定义  控件  
CButtonHot m_Enable;
CButtonHot m_Hot;
CButtonHot m_Mekj;CButtonHot 是继承自CButton的自制控件void CCwDlg::DoDataExchange(CDataExchange* pDX)
{
DoDataExchange(pDX);
//加上下面的句子就会产生  如题的错误
DDX_Control(pDX,IDC_BUTTON3,m_Enable);
DDX_Control(pDX,IDC_BUTTON2,m_Hot);
DDX_Control(pDX,IDC_BUTTON1,m_Mrkj);
}
我想是内存泄露之类的问题,但是我没有动态分配内存啊

解决方案 »

  1.   

    class CButtonHot: public CButton
    {
    ........
    public:
    virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
    .......
    }
    它的实现没问题,和书上的例子一摸一样,书上的没问题。
      

  2.   

    补充一下,貌似是别处的问题,跟踪时看到idc_button确实被绑定了
      

  3.   

    现在,重新做了下,运行没错误,但是如果把  控件的Styles设置为Owner draw 的话 运行出的对话框是空白,如果不设为Ownerdraw的话对话框的控件就能显示出来
      

  4.   

    首先,我想把  这个问题解决了,怎么一设成ownerdraw就不显示控件呢?
      

  5.   

    不用了,问题解决了,    ownerdraw设置后一定要在  DoDataExchange里面关联起来,不关联就看不到控件了,
    谢谢大家