如何动态创建一个Button并为其加之一OnClick的消息响应函数

解决方案 »

  1.   

    可以派生一个自己的Button类(加上OnClick的消息响应函数),再动态生成。
      

  2.   

    派生CButton类CYouButton,添加OnClick响应函数, 调用时直接利用基类的创建函数CButton::Create 
    BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );并显示
      

  3.   

    dellfox“可以派生一个自己的Button类(加上OnClick的消息响应函数),再动态生成。”我理解你的意思但这样太麻烦DEPHI和BCB实现要简单得多定义一个函数(原形void MyButtonOnClick(TObject*)),然后将函数地址赋于new的Button->OnClick就可以了VC肯定也有方便的实现形式(我初用VC)
      

  4.   

    puyinghua(不尔)正解。
    定义BUTTON的id,然后在消息映射表里就可以给BUTTON添加消息了。
      

  5.   

    …………干吗要派生类?
    声明一个CButton的对象就可以了……
      

  6.   

    puyinghua(不尔)正解。
    定义BUTTON的id,然后在消息映射表里就可以给BUTTON添加消息了。
    出错
      

  7.   

    void CCsdn_dDlg::OnButton1() 
    {
    CRect r(100,100,250,150);
    button.Create("he_zhidan",WS_CHILD|WS_VISIBLE,r,this,ID_1);
    }void CCsdn_dDlg::On1() 
    {
    MessageBox("give me sorce");
    }
    你可以加一个菜单项与你要建立的按钮同id,对菜单项加响应函数
    button必须是类成员或全局变量,