ActiveX控件上如何绘Button按钮啊?

解决方案 »

  1.   

    想在ActiveX控件上,直接绘出来Button按钮, 
    不知道该如何实现?请熟悉的朋友介绍下,谢谢
      

  2.   

    ====================
    主要通过重写 onCreate函数来实现么?
      

  3.   

    //使用测试容器测试下面的代码,运行后看不到创建的Button,开发环境用的VC6.0(XP系统)//xxxCtl.h头文件,
    // Message maps
    //{{AFX_MSG(CHIK_NetVideoOCXCtrl)
    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); //添加OnCreate,重写该函数
    afx_msg void OnButtonFunction(); //Button绑定的事件函数
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()////////////////////////////////////////////////////////////xxxCtl.cpp文件
    // Message map
    BEGIN_MESSAGE_MAP(CHIK_NetVideoOCXCtrl, COleControl)
    //{{AFX_MSG_MAP(CHIK_NetVideoOCXCtrl)
    ON_WM_CREATE()  //重写该函数
    ON_BN_CLICKED(0, OnButtonFunction) //该ButtonID为0,绑定的事件函数为OnButtonFunction
    //}}AFX_MSG_MAP
    ON_OLEVERB(AFX_IDS_VERB_PROPERTIES, OnProperties)
    END_MESSAGE_MAP()//点击该Button触发执行的函数!
    void  CHIK_NetVideoOCXCtrl::OnButtonFunction() 

    AfxMessageBox("111");
    } //重写OnCreate函数
    int CHIK_NetVideoOCXCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) 
    {
    if (COleControl::OnCreate(lpCreateStruct) == -1)
    return -1; LPRECT lprc;
    //GetClientRect(lprc);  //该函数编译无错,运行出错!!!
    //GetWindowRect(lprc); CButton   m_btn; 
          CRect rcButton(10, 
      20, 
      80, 
      90); //  CRect rcButton(lprc->right   -   30, 
    //  lprc->bottom   -   20, 
    //  lprc->right   -   5, 
    //  lprc->bottom   -   1); 
    //CRect rcButton(10,); 

    m_btn.Create("testbutton", WS_CHILD|WS_VISIBLE, rcButton,this,0); 
    m_btn.ShowWindow(SW_SHOW);  return 0;
    }