我从CButton派生了一个类,CMyButton;
然后在对话框中一个按钮使用
CMyButton m_button1;
m_button1.SubclassDlgItem(IDC_BUTTON1,this);
但是总是报错,asserttion failure,请大侠出手相救

解决方案 »

  1.   

    button可能还没有创建。
    你的代码放在那里的?
      

  2.   

    你对那个IDC_BUTTON1按ctrl+w添加成员变量,直接设置成控件类型,使用你的类作为类型就行了。 +++++++++++++++++放在OnInitDialog里面
      

  3.   

    你把IDC_BUTTON1的Owner Draw属性改为No 看看
      

  4.   

    你对那个IDC_BUTTON1按ctrl+w添加成员变量,直接设置成控件类型,使用你的类作为类型就行了。 +++++++++++++++++放在OnInitDialog里面
    我知道这样做也可以,可是我就是想知道subclass怎么用,owner draw就是no,
    说清楚一点,我为对话框添加了一个成员变量
    CMyButton m_button1;
    然后在OnInitDialog()中
    m_button1.SubclassDlgItem(IDC_BUTTON1,this);
    但是会出错,设短点检查发现pWnd == NULL;,可是我明明在摸班中放了个button,id为IDC_BUTTON1。
      

  5.   

    你多半是钩选了所有者,又没有重载DrawItem函数造成的,注意是,DrawItem,不是OnDrawItem
      

  6.   

    我用没有问题啊,请问你的pWnd是哪里的?
      

  7.   

    原来是ukyoking(东方不败) 说的原因,ft,结帐,感谢大家