如题!

解决方案 »

  1.   

    CButton *btn = new CButton;
    btn->Create();
      

  2.   

    create()里面的参数是怎样的啊?
      

  3.   

    我刚才做了,代码如下:
    CRect rect(0,0,100,100);
    //rect为button的位置区域
    bn.Create("aa",WS_VISIBLE,rect,this,IDB_B1);//第一个为caption,第二个为
     //style,可以是ws_和bs_,可查msdn,第三个是放button的区域,第四个是parent,第五个是
    //标识.
    在dlg.h中加入:                            
       #define IDB_B1 2000
    因为以后你用这个button的时候,就可以:
     ((CButton*)GetDlgItem(IDB_B1))->....//设置button.
      

  4.   

    补充一下,在h文件里的类中申明CButton bn;
      

  5.   

    CWnd* pParentWnd这个参数怎样取得啊,我的程序是基于对话框的.
      

  6.   

    可以发个源代码给我吗[email protected]
      

  7.   

    先在Resource.h文件中加入一个资源号#define IDC_BUTTON1 2000
    在窗体类的头文件中加如一个按钮对象CButton m_button1;
    在窗体的初始化函数中加入:
    m_button1.Create(_T("1"),WS_CHILD,CRect(10,10,60,60),this,IDC_BUTTON1);
    m_button1.ShowWindow(TRUE);
    其中Create函数中的第一个参数是按钮上显示的文本,2是按钮的类型,3是按钮在窗体是上的位置
    4是父窗体,5就是你的按钮ID号了
    然后再有第二个语句把按钮显示出来。
    当然你也可以不用的在Ressour.h中声明资源号,你可以在窗体上加入一个按钮,再把它删去就行了。
      

  8.   

    可以通过GetMainWnd()函数取得你的主窗体句柄
      

  9.   

    但是怎样应用啊??例如怎样响应Button的单击事件??
      

  10.   

    但是我怎样使用控件的事件啊?
    例如我想响应Button的单击事件,应该怎样办?
      

  11.   

    建立一个类Cmybutton,从CButton类继承,然后再里面加入消息处理.
    在DLG中, cmybotton bn;
    bn.create(...); //参数的含义前面说的很明白了~
      

  12.   

    要自定义一个消息WM_MYBUTTON_CLICK。
    在按钮create时,create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
    将你的UINT nID  参数指定为WM_MYBUTTON_CLICK .
    在按钮的父窗口中,添加WM_MYBUTTON_CLICK消息的处理方法。
    这个方法就是你的添加的按钮的点击事件的处理函数。
      

  13.   

    你可以看看enoloo(行者无疆) 说的!然后你自己想加什么都可以了,在自己定的类里添加WM_LBUTTONDBLCLK然后在函数里修改就可以了!
    CMYBUTTON.h
    class CMYBUTTON : public CButton
    {
     public:
        CMYBUTTON();
        virtual ~CMYBUTTON();
     protected:
        //{{AFX_MSG(CMYBUTTON)
        afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
        //}}AFX_MSG
      DECLARE_MESSAGE_MAP()
    };CMYBUTTON.CPP
    CCMYBUTTON::CCMYBUTTON()
    {}CCMYBUTTON::~CCMYBUTTON()
    {
    }void CCMYBUTTON::OnLButtonDblClk(UINT nFlags, CPoint point) 
    {
       // TODO: Add your message handler code here and/or call defaultMessageBox("fdsfsdf","fsdfdsf",MB_OK);
    CButton::OnLButtonDblClk(nFlags, point);
    }
    代码没有调试,自己试试,反正是这个意思了!
      

  14.   

    其实很简单啊
    动态生成可以参照--回复人: gudulyn(冰楠) ( ) 信誉:100  2003-11-24 23:44:00  得分:0 --提供的方法
    产生单击或双击事件的话,没有必要重新定义一个新的消息,直接在BEGIN_MESSAGE_MAP()
    下自己输入
        ON_BN_CLICKED(IDC_BUTTON1,OnButton1)
    或ON_BN_DOUBLECLICKED(IDC_BUTTON1,OnDbButton1)
    然后在头文件中定义该函数如:
    afx_msg void OnButton1();或 afx_msg void OnDbButton1();
    最后在实现文件中输入完整函数体以及函数内容

    void CXXXView::OnButton1()
    {
       // TODO: Add your control notification handler code here
    }
    或void CXXXView::OnDbButton1()
    {
       // TODO: Add your control notification handler code here
    }
    这样的方法应该算是最简单的,当你产生一个可见按钮IDC_BUTTON1后,只需在点击就会调用OnButton1(),双击则会调用OnDbButton1()
      

  15.   

    直接应用MFC都可以解决,去看看MFC的书一切OK!