为自定义工具栏按钮添加消息响应函数

MFC Toolbar 工具栏按钮添加消息响应 工具栏按钮消息响应需要的是对应按钮的命令ID。对于动态方式创建的工具栏,其按钮的命令ID在类向导ID列表中是找不到的,只能找到图标的ID。按下述步骤不能添加事件响应。(1)VS2010 打开类向导,选择“Message Maps”选项卡,在“Class name”列表框选择创建了工具栏的对话框类,在“Object Ids”列表中选择工具栏按钮ID,在“Messages”列表中选择“COMMAND”... 阅读详情

         在文档程序中,需要自定义工具栏。当利用资源编辑器为工具栏添加一个自定义按钮后,运行程序时该按钮成灰色无效状态。之所以会这样,是因为该按钮没有相应的消息响应函数。下面,我们在视图类中为ID为ID_MY_SEARCH的新工具栏按钮添加消息响应函数。

1、在View类头文件中添加命令消息响应函数的声明

	afx_msg void OnMySearch();


2、在View类.cpp文件消息映射表中添加该消息的映射

BEGIN_MESSAGE_MAP(CCenterServerView, CListView)
	......

	ON_COMMAND(ID_MY_SEARCH, OnMySearch)
END_MESSAGE_MAP()


3、在View类.cpp文件中实现该消息响应函数

void CCenterServerView::OnMySearch()
{
	AfxMessageBox(_T("Test"));
}


        这时,再次编译运行程序,发现新添加的ID_MY_SEARCH按钮变成了可用状态。鼠标单击该按钮,弹出测试消息对话框。

MFC单文档添加按钮控件、消息响应函数 阅读详情

相关推荐

MFC文档添加多个按钮(及响应函数)

本文介绍如何在MFC文档工程中添加多个按钮 样例中添加了两个按钮,如果有需要,可以使用数组来动态添加,参见优快云论坛某贴7L的回答。 1.添加ID 在Resource.h文件中添加按钮的ID,编号不与之前重复就可以,这里我添加了两个按钮。 #define IDB_BTN_NTRANS 307//旋转、缩放变换的按钮 #define IDB_BTN_SHEAR 308//错切的按钮 别忘

Something and Nothing 5086

MFC对话框中添加位图工具条及按钮响应函数

本文介绍了如何在MFC对话框程序中添加位图工具条

_Santiago的博客 3595

MFC 动态创建控件及添加消息响应函数

动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。    一、创建动态控件:   为了对照,我们先来看一下静态控件的创建。   放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。

Walter的专栏 8183

OnCreate 函数的说明

百科: OnCreate是一个消息响应函数,是响应WM_CREATE消息的一个函数,而WM_CREATE消息是由Create函数调用的。     在view类中,Create 是虚函数由框架调用,是用来“生成一个窗口的子窗口”。 而OnCreate 函数是用来“表示一个窗口正在生成”。     一个窗口创建(Create)之后,会向操作系统发送WM_CREATE消息,OnCreate()

Narvik的专栏 2443

MFC在基于对话框添加工具栏,工具栏消息提示,和点击指定按钮响应对应的消息函数

MFC在基于对话框添加工具栏,工具栏消息提示,和点击指定按钮响应对应的消息函数,简单例程,有疑问的请留言

为MFC对话框程序添加菜单和菜单响应函数

使用MFC向导创建了一个基于对话框的程序,实现了为对话框添加菜单和菜单消息响应。

VS2005 菜单项添加事件 VC2005消息映射

1 VS2005的MFC Class Wizard哪去了在VS2005中拆分成两个功能: (1)、对控件和菜单建立事件映射的功能;可以通过在资源视图(通过双击资源文件*.rc可进入该视图),右键某一个菜单或者控件,在弹出的菜单中选择“添加事件处理程序;(2)、添加窗体的消息映射;在类视图(通过菜单“视图->类视图 Ctrl+W,C”可以进入)上双击类,然后在类上右键,选择“属性”菜单,进入属性界面,在属性界面上边有几个事件、消息的按钮,点击消息后选择具体创建的消息即可。2 vs2005中如何添加消息映射啊?

cherry_xidian的专栏 5013

单击窗口标题栏弹出系统菜单是触发的什么消息

单击标题栏弹出系统菜单是触发的什么事件

单文档中动态创建有图标的工具栏

在做项目的时候,需要去掉系统自带的工具栏,添加我们自己创建的工具栏,但是为了看上去美观,我们可以在工具栏上添加相应的图标,具体的实现方法如下: 1、在网上搜集资源图标(.ico格式)的,如果不好找,下面附件中会上传一部分我搜集的资源图标。 2、在资源视图中将需要的资源图标导入工程中。 3、在CMainFrame类中创建CToolBar和CImageList对象 [cpp]

yfhy2014的专栏 865

尚硅谷课程【笔记】——大数据之Shell【一】

【【尚硅谷】Shell脚本从入门到实战】笔记

n04j04h06的博客 1319

【WRF-CMAQ实战指南】从环境配置到测试案例运行全解析

本文详细解析了WRF-CMAQ从环境配置到测试案例运行的全过程,包括系统环境检查、依赖库安装、源码获取与项目初始化、关键配置技巧、编译实战与排错、测试案例运行验证等关键步骤。通过实战指南,帮助用户快速掌握WRF-CMAQ的安装和运行技巧,提升空气质量模拟的效率。

year5的博客 244

VS2010在工具栏上创建查找组合框,即:CMFCToolBar中加入CMFCToolBarComboBoxButton

1. 添加资源,新加一个ToolBar的资源 IDR_TOOLBAR_SEARCH,并在此工具栏上再加上一个项:取ID为:ID_SEARCH2. 在MainFrm类中加入如下代码:变量: CMFCToolBar m_wndToolBarSearch; 方法: CMFCToolBarComboBoxButton *m_comboButton; afx_msg LRESULT On...

weixin_33906657的博客 497

射频工程师笔记---射频通信基础

回顾一下移动通信技术的发展,其实是互联网和通信技术的融合过程。在这个过程中,很多应用都在不断加入其中。比如计算机跟通信的融合产生了互联网、互联网跟手机的融合带来了移动互联网。手机可以看杂志、看视频、听音乐,于是又出现了内容服务产业;再后来,电视音箱等设备也能联网,于是网络跟家电又产生了融合。所以应用的出现总是在融合其他产业。在1995年,比尔·盖茨在《未来之路》一书中首次提出:在未来...

多年硬件从业经历,热爱学习,记录生活! 2万+

Visual C++网络编程经典案例详解 第5章 网页浏览器 制作个性化界面 添加消息响应 OnButton()

用户添加了工具栏按钮和地址栏等控件, 但是并没有为其添加消息响应函数。 首先添加连接按钮的消息响应函数, 在VC主界面中 按下Ctrl+W快捷键 弹出MFC向导对话框 用户在Message Maps选项卡中找到连接按钮的ID, 然后为其添加鼠标单击消息响应函数OnButton(), 然后单击确定按钮完成函数添加 其他工具栏按钮添加响应函数的方法与此相同 函数代码如下 void CMainFrame...

eyetired的博客 348

告别抖动与滞后:深入博能传动伺服DSC功能,用105报文提升多轴同步性能

本文深入解析博能传动伺服DSC功能如何通过105报文实现多轴同步性能提升,有效解决工业自动化中的抖动与滞后问题。详细介绍了DSC技术原理、105报文实现机制及多轴同步工程实践,帮助工程师优化伺服系统性能,实现绝对齿轮同步。

weixin_30394981的博客 184

CTF-Web习题:2019强网杯 UPLOAD

本题涉及知识点:代码审计、文件上传漏洞、反序列化漏洞

LJW123487的博客 1903

vs2005的消息映射

VS2005 菜单项添加事件 VC2005消息映射1 VS2005的MFC Class Wizard哪去了在VS2005中拆分成两个功能: <br />(1)、对控件和菜单建立事件映射的功能;<br />可以通过在资源视图(通过双击资源文件*.rc可进入该视图),右键某一个菜单或者控件,<br />在弹出的菜单中选择“添加事件处理程序;<br />(2)、添加窗体的消息映射;<br />在类视图(通过菜单“视图->类视图 Ctrl+W,C”可以进入)上双击类,<br />然后在类上右键,选择“属性”菜单,进

dsq417379725的专栏 901

Vue Vben Admin 登录页修改全攻略:从登录界面定制到接口对接全流程配置

方式一:修改国际化文件找到对应的语言包文件,修改和的值。方式二:直接传递文本page-description="现代化的后台管理系统模板"page-title="欢迎使用 Vue Vben Admin"从上面的代码可以看出,登录表单使用了的方式来定义表单字段,这种方式提供了极大的灵活性。如果你想要自定义表单,可以修改formSchema数组。如果你的登录需求非常特殊,现有的组件无法满足,你可以完全自定义表单。只需在login.vue中替换<template><h2>自定义登录</h2>

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 479

VC动态创建工具栏及工具栏上的按钮及为按钮添加消息响应函数

// OnInitDialog函数中 //向列表中添加图标 m_imagelist.Create(32,32,ILC_COLOR24|ILC_MASK,1,1); m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON12)); m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON13)); m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON9)); m_imagelist.Add(Afx

nanhaizhixin的专栏 7999

Neo4j:入门基础(二)之导入CSV文件

导入CSV文件的方式  主要的两种方式如下:   1、使用 Cypher 命令LOAD CSV,这种方式可以处理中小型数据(可达10 million条记录)   2、使用批量导入工具neo4j-admin ,用来直接导入大数据集 三、上述方式具体导入过程   1、Cypher 命令LOAD CSV 参数 1、USING PERIODIC COMMIT 300 使用批量提交,每满300条提交一次,防止内存溢出 2、WITH HEADERS 从文件中读取第一行作为参数名,...

Puzzle的博客 3万+

C# + YOLO 实时摄像头检测:Emgu CV + ONNX Runtime,30FPS+ 流畅运行

很多教程只给“单张图片推理”代码,一上摄像头就卡成 PPT(<5 FPS)。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 215

VC++工具栏按钮手动添加响应函数

在对话框的头文件中申明消息响应函数://窗口类h头文件中 //工具栏上的按钮的ID是连续的,如果不连续,一个按钮一个响应,或者修改为连续的,视情况而定 afx_msg void OnBnClickedToolBar(); //消息映射部分 ON_COMMAND(ID,  OnBnClickedToolBar) //工具栏上按钮的消息响应 void CXXXDlg::OnBnClic

he_haiqiang的专栏 2431

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

五、菜单栏和工具栏(主工具栏上创建按钮)

1.   菜单和工具在操作系统中的含义:        a. 菜单就是一种展示操作系统命令的目录;        b. 也就是菜单中选项中的子目录中的内容其实都是操作系统的命令,比如菜单栏中文件选项中的打开选项,就对应着操作系统的“打开文件命令”;        c. 比如Windows系统中的开始菜单还有右键菜单所展示的都是操作系统的命令;        d. 应用程序的菜单编程就是指为

计算机 2597

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

VC 中添加消息响应函数

下面我们举一个实际的例子来说明该段过程.例如在对话框中设置一个按钮,每隔3秒钟会自动的弹出Message对话框: (1)首先在头文件或CPP文件中定义一个消息 ? #define CLICK_MESSAGE_BOX  WM_USER+100  (2)然后在消息映射宏里面添加函数声明:   ?

hnust_xiehonghao的专栏 2000

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: 在工具栏创建组合框
下一篇: 实现工具栏中添加的组合框接收回车消息
zcube
博客等级 码龄17年 170粉丝 120原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值