動態創建一個CButton按鈕並實現其ON_BN_CLICKED消息

目標:

動態創建一個CButton按鈕並實現其ON_BN_CLICKED消息

實現:

一、創建按鈕

  • 定義CButton變量爲類的成員變量;
    CButton button;
  • 定義該按鈕的ID;
    #define IDC_BUTTON1 8888
  • 在適當的地方創建按鈕;
    button.Create("BUTTON", WS_VISIBLE | WS_CHILD | WS_BORDER | BS_AUTO3STATE,
       CRect(10 , 10, 100, 40), this, IDC_BUTTON1 );

二、實現ON_BN_CLICKED消息

  • 在頭文件中定義消息響應函數;
    // Generated message map functions
     //{{AFX_MSG(CDialogTestDlg)
     virtual BOOL OnInitDialog();
     afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
     afx_msg void OnPaint();
     afx_msg HCURSOR OnQueryDragIcon();
     //}}AFX_MSG
     afx_msg void OnBnClicked();
     DECLARE_MESSAGE_MAP()
  • 在CPP文件中完成消息路有;
    BEGIN_MESSAGE_MAP(CDialogTestDlg, CDialog)
     //{{AFX_MSG_MAP(CDialogTestDlg)
     ON_WM_SYSCOMMAND()
     ON_WM_PAINT()
     ON_WM_QUERYDRAGICON()
     //}}AFX_MSG_MAP
     ON_BN_CLICKED(IDC_BUTTON1, OnBnClicked)
    END_MESSAGE_MAP()
  • 完成消息函數本身;
    void CDialogTestDlg::OnBnClicked()
    {
     AfxMessageBox("Button1");
發佈了0 篇原創文章 · 獲贊 4 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章