CN_Button m_setbtn;
m_setbtn.Create(_T("223"), WS_CHILD|WS_VISIBLE|WS_TABSTOP|BS_PUSHBUTTON|BS_OWNERDRAW,  theApp.CRect(1000,600,1400,900), this, 125);
我把style 改变来试了试也没有成功,是我的控件属性不对?

解决方案 »

  1.   

    lz是怎么创建的, CRect r(400,60,500,90);
    TyButton.Create(this,r,8881,_T("按键A"));
    一切正常
      

  2.   

    CN_Button m_setbtn;
    m_setbtn.Create(_T("223"), WS_CHILD|WS_VISIBLE|WS_TABSTOP|BS_PUSHBUTTON|BS_OWNERDRAW,  theApp.CRect(1000,600,1400,900), this, 125);
    我把style 改变来试了试也没有成功,是我的控件属性不对?lz的 CN_Button 是CButton的派生类吗?怎么用了那么个创建函数?
      

  3.   

    CN_Button m_setbtn;
    m_setbtn.Create(_T("223"), WS_CHILD|WS_VISIBLE|WS_TABSTOP|BS_PUSHBUTTON|BS_OWNERDRAW,  theApp.CRect(1000,600,1400,900), this, 125);
    我把style 改变来试了试也没有成功,是我的控件属性不对?lz的 CN_Button 是CButton的派生类吗?怎么用了那么个创建函数?

    对啊,不是用这个函数创建啊, 我只注意到这个,还有哪个函数?它们有什么区别呢?
      

  4.   

    BOOL bl=m_setbtn.Create
    看看 返回值
      

  5.   

    返回是成功了的,界面上也绘出了个矩形,不过它没有CButton的形式,进不了继承类的OnCreate 消息响应,里面调用的一些函数也无效了
    CRect r(400,60,500,90);
     TyButton.Create(this,r,8881,_T("按键A"));
    这个创建函数是你自己写 的?我怎么没有找到这个创建函数呢
      

  6.   

    返回是成功了的,界面上也绘出了个矩形,不过它没有CButton的形式,进不了继承类的OnCreate 消息响应,里面调用的一些函数也无效了
    CRect r(400,60,500,90);
     TyButton.Create(this,r,8881,_T("按键A"));
    这个创建函数是你自己写 的?我怎么没有找到这个创建函数呢晕,我还真拷贝自己写的函数给你了使用这样创建:
    //CButton btn;
    btn.Create(_T("按键A"),WS_CHILD|WS_VISIBLE,rect,this,nID)
      

  7.   

    返回是成功了的,界面上也绘出了个矩形,不过它没有CButton的形式,进不了继承类的OnCreate 消息响应,里面调用的一些函数也无效了
    CRect r(400,60,500,90);
     TyButton.Create(this,r,8881,_T("按键A"));
    这个创建函数是你自己写 的?我怎么没有找到这个创建函数呢晕,我还真拷贝自己写的函数给你了使用这样创建:
    //CButton btn;
    btn.Create(_T("按键A"),WS_CHILD|WS_VISIBLE,rect,this,nID)
    我想到一种可能哈,不知道是不是我的控件没有捕捉到鼠标的消息,创建一样的,是成功了的,现在能进入到OnCreate消息了,在对话框上就各种可以,放到视图里怎么会不行呢。
      

  8.   

    在 哪里 创建 的 
    “theApp.CRect(1000,600,1400,900), this, 125);”this 是 哪个 ?为什么要 theApp
      

  9.   

    this是我当前的视图窗口句柄 , theapp只是我在app类里面有一个算窗口位置的函数,少打了两个字母。现在问量应该是在控件不能捕获到我鼠标移动到上面的消息,这是怎么回事啊,在CN_Button的MoveMouse里没有响应,在对话框里创建的话是正常的。
      

  10.   

    先 创建一个 CButton 看看。
      

  11.   

    我知道是什么原因捕获不到了,是因为我在PreSubclassWindow里重新设置了窗口范围,而在此时我得到的GetclientRect的crect为0,导致我设置的窗口范围为0了,我是在视图类的OnCreate里创建的CN_Button 但在此时得到的rect怎么为何0呢
      

  12.   

    我知道是什么原因捕获不到了,是因为我在PreSubclassWindow里重新设置了窗口范围,而在此时我得到的GetclientRect的crect为0,导致我设置的窗口范围为0了,我是在视图类的OnCreate里创建的CN_Button 但在此时得到的rect怎么为何0呢
      

  13.   

    先 调用 视图类的OnCreate 即 CView::OnCreate
    然后 创建CN_Button