在OnInitDialog()函数中添加下列代码:
         GetDlgItem(IDC_BTN_MUSIC)->ModifyStyle(0,BS_OWNERDRAW,0);
m_cbBtn.Attach(IDC_BUTTON1,this);
m_cbBtn.SetDownColor(RGB(255,0,0));
m_cbBtn.SetUpColor(RGB(0,0,255)); GetDlgItem(IDC_BTN_MASTERCAM)->ModifyStyle(0,BS_OWNERDRAW,0);
m_cbBtn.Attach(IDC_BUTTON2,this);
m_cbBtn.SetDownColor(RGB(255,0,0));
m_cbBtn.SetUpColor(RGB(0,0,255));
调试没有问题,运行出现错误,Wincore.cpp出错!
知道应该是this指针出现问题,求大神帮忙解决!

解决方案 »

  1.   

    m_cbBtn是个什么对象啊,第一次Attach后不用Dettach就继续下一次Attach!
    你在第二个Attach处设置断点看看,是不是他报的错!
      

  2.   

    m_cbBtn.Attach(IDC_BUTTON1,this);
    m_cbBtn.SetDownColor(RGB(255,0,0));
    m_cbBtn.SetUpColor(RGB(0,0,255));以上方法应该是不安全的,应该通过类向导来建立m_cbBtn 和 IDC_BUTTON1的关联
    类似 DDX_Control(pDX, IDC_BUTTON1, m_cbBtn)........
      

  3.   

    m_cbBtn.Attach(IDC_BUTTON2,this);
    ===========
    同一个m_cbBtn你关联第二个之前应该用m_cbBtm.Dettach(..)将第一个关联去掉才行。
      

  4.   

    在CMyButton.h和CMyButton.cpp的类中,只有Attach函数,没有Dettach函数。现在需要怎样做,请求大神的指点!
      

  5.   

    没看明白,加上Dettach就是了。
      

  6.   

    加上m_cbBtm.Dettach(..),编译时出错:error C2039: 'Dettach' : is not a member of 'CMyButton'。
      

  7.   

    晕死人了,一群人都竟然都拼写错了,是Detach
      

  8.   

    m_cbBtn.Attach(IDC_BUTTON1,this);
    this 怎么和CButton关联起来了、this 也是CButton类型吗、
    也没有调用Detach
      

  9.   

    Detach()函数也试过,编译没问题,运行仍然是Wincore.cpp出错。仍然谢谢大神们的指点!
      

  10.   

    [email protected], 不过未必有时间给你调试