我在程序里使用了CButtonST来美化自己的button,在定义第一个CButtonST时没有出问题,定义第二个CButtonST是编译可以通过,但运行就出现程序崩溃,求大神们帮忙看看,谢谢!!程序崩溃,CButtonST,变量

解决方案 »

  1.   


    #include "BtnST.h"/////////////////////////////////////////////////////////////////////////////
    // CMamaDlg dialogclass CMamaDlg : public CDialog
    {
    public:
    CButtonST m_BtnFriend;
    // Construction
    public:
    void ButtionInit();
    CMamaDlg(CWnd* pParent = NULL); // standard constructor// Dialog Data
    //{{AFX_DATA(CMamaDlg)
    enum { IDD = IDD_MAMA_DIALOG };
    CEdit m_EditSign;
    CStatic m_StaticSign;
    CStatic m_NickName;
    //}}AFX_DATA // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CMamaDlg)
    protected:
    virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
    //}}AFX_VIRTUAL// Implementation
    protected:
    HICON m_hIcon; // Generated message map functions
    //{{AFX_MSG(CMamaDlg)
    virtual BOOL OnInitDialog();
    afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
    afx_msg void OnPaint();
    afx_msg HCURSOR OnQueryDragIcon();
    afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
    };
      

  2.   

    我估计是我在加入CButtonST的时候出了问题,因为是第一次用,所以可能方法不对。
    我是在工程下面加两个类,然后直接把类的.h和.cpp文件改成BtnST.h和BtnST.cpp
      

  3.   

    只有一个啊:public:
        CButtonST m_BtnFriend;
    // Construction
    public:
        void ButtionInit();// 这个函数 与 按钮 什么关系?
      

  4.   

    这个函数什么都没有,只是我留来写Button样式的void CMamaDlg::ButtionInit()
    {}
      

  5.   

    定义第二个CButtonST 在 哪里?2个 按钮 Create 在 哪里?
      

  6.   

    CButtonST的代码是网络上下载的,我估计也是CButtonST的代码有问题
      

  7.   

    每当我怀疑是编译器出bug的时候,事实证明往往是自己犯的错误。
    CButtonST一般来说不会犯这种低级错误,况且人家不是提供了的demo么。。照着抄就是了
      

  8.   

    自己Debug调试吧,看下call stack函数调用堆栈~
      

  9.   

    我遇到过两种报错的情况,一种是用了CButtonST,但是同时按钮又关联了变量,就报错
    另一种是CButtonST对象与按钮ID关联好了之后,我又把资源里按钮ID改了,也会编译OK,运行报错
      

  10.   

    一次性用了几百个CButtonST,也没见出什么问题。
      

  11.   

    我也遇到了这种情况,把CButton类移植过来,定义好之后,编译没错,运行就报错,程序整个崩溃。后来我右键项目,清理,重新生成,运行,它竟然好了。。右键清理一下吧,亲!!