不用工具栏

解决方案 »

  1.   

    可以呀,先创建好宏定义和手工加入该宏的消息映射,动态创建该Button就是了
      

  2.   

    (1) 在CView中加入按钮CButton m_myButton;
    (2) 在CView的OnCreate()函数中加入:
        CRect rect(10,10,80,30);
        rect.NormalizeRect();
        m_myButton.Create("aa",BS_PUSHBUTTON | WS_VISIBLE,rect,this,123);
    (3) 添加消息响应函数:
        声明:afx_msg void OnButton123();
        实现:ON_BN_CLICKED(123, OnButton123)
             void CToolTipsTestView::OnButton123()
             {
        AfxMessageBox("123");
             }
      

  3.   

    在那里创建的Button,应该在CView中才行。还有注意按钮的位置是否合理!
      

  4.   

    CRect rect;
             CButton m_btnStart;
    GetClientRect(&rect);
    int width=rect.Width();
    int height=rect.Height();
    CRect rect2(width/3+1,0,width/3+width/3,height);
             m_btnStart.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_BITMAP,rect2,this,ID_START);
      

  5.   

    有几点要注意一下
    m_btnStart一定要是CView的成员变量(不能为局部变量)
    添加消息映射
    ON_BN_CLICKED(id, 函數)
      

  6.   

    最好不用CButton建立,自己画一个,还漂亮。在OnmouseMove,OnLbuttonDown,OnLbuttonUp
    中判断PtInRect()或者PtInRegion()就行