当前位置: 首页 > news >正文

MFC如何动态创建button按钮并添加点击事件

在MFC中,可以使用CButton类来动态创建按钮。下面是一个示例代码,演示了如何动态创建按钮并添加点击事件:

  1. 在对话框类的头文件中声明按钮变量:
CButton m_btnDynamic;
  1. 在对话框的OnInitDialog()函数中使用Create()函数创建按钮,并设置按钮的样式和位置:
BOOL CMyDialog::OnInitDialog()
{CDialogEx::OnInitDialog();// 创建按钮m_btnDynamic.Create(_T("Dynamic Button"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(20, 20, 120, 50), this, IDC_DYNAMIC_BUTTON);return TRUE;
}
  1. 声明按钮的点击事件处理函数,并在对话框类的消息映射中添加对应的消息处理函数:
// 声明按钮的点击事件处理函数
afx_msg void OnDynamicButtonClick();// 消息映射
BEGIN_MESSAGE_MAP(CMyDialog, CDialogEx)ON_BN_CLICKED(IDC_DYNAMIC_BUTTON, &CMyDialog::OnDynamicButtonClick)
END_MESSAGE_MAP()
  1. 实现按钮的点击事件处理函数,并在其中添加需要执行的代码:
void CMyDialog::OnDynamicButtonClick()
{// 点击按钮时执行的代码AfxMessageBox(_T("Dynamic button clicked!"));
}

这样,当对话框初始化完成后,就会创建一个名为"Dynamic Button"的按钮,并且点击按钮时会弹出一个消息框显示"Dynamic button clicked!"。

相关文章:

  • 《中学物理奇妙日志——30天物理学探索之旅》提纲
  • 【Oracle】 - 数据库的实例、表空间、用户、表之间关系
  • 新颖度爆表。网络药理学+PPI+分子对接+实验验证
  • Linux第3步_安装Ubuntu操作系统
  • 适合培训协会搭建的培训机构管理系统开发方案
  • 淘宝商品详情API接口(item_get-获得淘宝商品详情)主图,属性,sku,价格,搜索商品列表
  • GPDB - 高可用 - 流复制状态
  • 第一个Java网络爬虫程序
  • 玩转贝启科技BQ3588C开源鸿蒙系统开发板 —— 编译构建及此过程中的踩坑填坑(1)
  • Leetcode 2998. Minimum Number of Operations to Make X and Y Equal
  • 一、Qt介绍
  • 想要成为机器学习领域的高手吗?这里有五本必读免费书,订阅周报发链接 (下)
  • vite + vue3引入ant design vue 报错
  • Linux第9步_通过终端查看U盘文件
  • MongoDB主从仲裁模式安装
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 【剑指offer】让抽象问题具体化
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • ES6系统学习----从Apollo Client看解构赋值
  • ES学习笔记(12)--Symbol
  • Java精华积累:初学者都应该搞懂的问题
  • mysql 数据库四种事务隔离级别
  • nginx 负载服务器优化
  • Redis字符串类型内部编码剖析
  • Twitter赢在开放,三年创造奇迹
  • v-if和v-for连用出现的问题
  • 汉诺塔算法
  • 回顾 Swift 多平台移植进度 #2
  • 浏览器缓存机制分析
  • 前嗅ForeSpider教程:创建模板
  • 入手阿里云新服务器的部署NODE
  • 通过npm或yarn自动生成vue组件
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ###C语言程序设计-----C语言学习(3)#
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • $.ajax,axios,fetch三种ajax请求的区别
  • (16)Reactor的测试——响应式Spring的道法术器
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (动态规划)5. 最长回文子串 java解决
  • (二)斐波那契Fabonacci函数
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (规划)24届春招和25届暑假实习路线准备规划
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (排序详解之 堆排序)
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • .md即markdown文件的基本常用编写语法
  • .NET 5种线程安全集合
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚