RT

解决方案 »

  1.   

    接获? 你注册BUTTON的消息了吗,BUTTON的事件应该是你自己注册的。首先先声明成员变量,如:
    CButton m_btnExport;HICON m_hiExport;/× button 上的图片×/然后在要创建的地方实现如下代码m_btnExport.Create(_T(""),  
    WS_VISIBLE | BS_ICON,
    CRect(0, 0, 0, 0),  
    this,
    IDC_BTN_SELEXPORT);m_hiExport = LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_EXPORT));m_btnExport.SetIcon(m_hiExport);并在 OnSize 函数中绘画这个BUTTONif (m_btnExport.GetSafeHwnd())
    {
    m_btnExport.MoveWindow(cx-BUTTOM_WIDTH, BUTTOM_GAP, BUTTOM_WIDTH, BUTTOM_HEIGHT);
    }并且给这个BUTTION 注册消息即可
      

  2.   

    我想要的是处理单击这个button事件啊,怎么写啊
      

  3.   

    处理单击这个事件,就是注册CLICK 这个消息如:1. 声明消息ID  #define IDC_BTN_DETAIL 70032. 声明消息函数,可以放在 protected: 下
    afx_msg void OnShowDetailClick();3. 实现消息函数
    afx_msg void CDataListView::OnShowDetailClick()
    {}4. 注册消息
    BEGIN_MESSAGE_MAP(CDataListView, CView)
    //{{AFX_MSG_MAP(CDataListView)
    ON_WM_CREATE()
    ON_WM_SIZE()
    ON_BN_CLICKED(IDC_BTN_DETAIL, OnShowDetailClick) 
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()
      

  4.   

    首先你创建的按钮ID必须要连续,然后做如下处理:
    在按钮所在类的H文件中加入函数声明:如在ButtonDlg.h中,添加函数原形:
    afx_msg void OnButton(UINT   nID);
    然后在相关类的CPP文件中加入消息映射,因为是多个按钮,可以用一个函数来处理某一个事件,下面以单击为例:
    BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
       // ... 
       ON_CONTROL_RANGE(BN_CLICK,ID_BUTTON1, ID_BUTTON10, OnButton)
    END_MESSAGE_MAP()
    最的实现OnButton(UINT   nID)这个函数就行了。至于双击等同样处理。另外,你还可以通过从CButton中派生出一个子类CMyButton,然后在CMyButton中处理相关的消息。最后动态生成时用CMyButton定义按钮就行了。