zoukankan      html  css  js  c++  java
  • 动态创建一个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");

  • 相关阅读:
    杭电ACM 1197
    杭电ACM 1196
    杭电ACM题目分类
    杭电ACM 1178
    指针转化(二重)
    怎么查看一个类的内存分布
    how find out what is causing Visual Studio to think each project is out of date
    MSB8013
    File mapping
    SHFileOperation 解决double-null terminated
  • 原文地址:https://www.cnblogs.com/8586/p/1307433.html
Copyright © 2011-2022 走看看