afx_msg作用与afx_前缀说明_函数体前 带不带afx_msg有什么区别-程序员宅基地

技术标签: 扩展  编译器  application  Windows编程  mfc  框架  微软  

 Afx前缀是微软MFC一个小组的名称简写,并没有别的意义。 MFC的很多代码,包括全局函数名、宏、头文件名都使用了"Afx"。 Afx*.h是一组MFC的核心头文件, 比如: afxwin.h 定义MFC的核心和标准组件 afxext.h 定义MFC的扩展 afxdisp.h 是MFC自动化支持的类定义头文件 afxdb.h 是MFC的ODBC类封装

AFX_msg

  在头文件(DrawView.h)中声明消息响应函数原型。
  //{ {AFX_MSG(CDrawView) //注释宏
  afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  //}}AFX_MSG //注释宏
  说明:
  在注释宏之间的声明在VC中灰色显示。afx_msg宏表示声明的是一个消息响应函数
  afx_msg消息函数 
  应用程序框架产生的消息映射函数
  例如:afx_msg void OnBnClickedButton1(); 其中 afx_msg为消息标志,它向系统声明:有消息映射到函数实现体;而在map宏定义中,就有具体消息和此函数的映射定义(可以是自定义,也可以是系统自动完成的)
  afx是 application framework
  如定义一个Edit的Change处理函数:
  一、在类的头文件(*.h)中增加 :
  //{ {AFX_MSG(CDialogDemo)
  afx_msg void OnChangeEdit1();
  //}}AFX_MSG
  二、在类的实现文件(*.cpp)中增加:
  1.消息定义( ON_EN_CHANGE):
  BEGIN_MESSAGE_MAP(CDialogDemo, CDialog)
  //{ {AFX_MSG_MAP()
  ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)
  //}}AFX_MSG_MAP
  END_MESSAGE_MAP()
  2.执行函数:
  void CDialogDemo::OnChangeEdit1()
  {
  // TODO: Add your control notification handler code here
  ……
  }
  在afxwin.h中afx_msg的解释:
  #ifndef afx_msg
  #define afx_msg // intentional placeholder
  #endif
  没什么意思.只是定义了这个符号而已. 这个对编译器来说,相当于什么都没有,对于人来说,我们可以看到这样的符号. 对于类向导来说.这个符号才是有意义的.它是一个消息处理函数的前缀. 类向导生成的消息函数,分发函数,事件响应函数都以这个为前缀. 如果去掉了,向导将不能识别
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Leichelle/article/details/7896674

智能推荐

KONGSBERG RMP201-8数字量输入模块-程序员宅基地

文章浏览阅读295次。总的来说,KONGSBERG RMP201-8数字量输入模块是一款性能卓越、功能丰富的产品。除了信号处理功能外,该模块还配备了通信接口,如以太网、串行通信等,这使得它能够与其他设备或控制系统进行数据交换和控制。KONGSBERG RMP201-8数字量输入模块是一款功能强大的模块,专为接收和处理数字信号而设计。RMP201-8模块的核心功能是接收数字信号,如高低电平、脉冲信号等,并将这些信号转换为控制系统可以识别和处理的格式。通道的数量通常根据具体的应用需求进行配置,从而为用户提供了极大的灵活性和扩展性。

异常数据检测 | Python基于Hampel的离群点检测_python 离群点检测-程序员宅基地

文章浏览阅读823次。异常数据检测 | Python基于Hampel的离群点检测_python 离群点检测

中点Bresenham画圆-程序员宅基地

文章浏览阅读117次。这里不仔细讲原理,只是把我写的算法发出来,跟大家分享下,如果有错误的话,还请大家告诉我,如果写的不好,也请指出来,一起讨论进步。算法步骤:(1) 输入圆的半径R。(2) 计算初始值d = 1 - R, x = 0; y = R。(3) 绘制点(x, y), 及其在八分圆中的另外7个对称点。(4) 判断d的符号,若d < 0, 则先将d更新为d+2*x+3,再将(x,y)..._设圆半径r=10,初始点(0,10),利用中点bresenham画圆法绘制八分之一圆弧

idl结果显示窗口如何缩小_IDL入门教程二(上)(简单图形显示II)-程序员宅基地

文章浏览阅读141次。第二章简单的图形显示本章概述科学分析最基本的能力就是以简单的线画图、等值线图和曲面图来显示所研究的数据。在这一章中,将知道用这些方式来显示数据是多么容易。也将学会用系统变量和关键字来定位和标注简单的图形显示。将学会如下几点:1.如何用Plot命令将数据显示为线画图。2.如何用Surface和Shade_Surf命令将数据显示为曲面图。3.如何用Contour命令将数据显示为等值线图。4.如何在显示..._idl中画图时怎样让横坐标的讲变窄

Python 网络爬虫与数据采集(二)_python数据采集与网络爬虫报告-程序员宅基地

文章浏览阅读1.6k次,点赞9次,收藏46次。第二部分 初章 网络爬虫初识4. 网络爬虫请求篇_python数据采集与网络爬虫报告

相机的标定之手机相机的标定_相机标定的相机可以是手机吗-程序员宅基地

文章浏览阅读4.3k次,点赞3次,收藏26次。相机的标定是 SLAM 最开始的部分,由于设备原因,这个星期只做了手机相机的标定。这篇文章主要就是介绍一下相机标定的原理以及用OpenCV中现有的函数或是Matlab做相机标定的过程。_相机标定的相机可以是手机吗

随便推点

精选114个JAVA本科的计算机毕业设计精品,有手就能上手-程序员宅基地

文章浏览阅读31次。对于即将迎来毕业设计的计算机专业的你,选择合适的题目和成功完成项目是个棘手的问题。Springboot电子政务理念的高校”校长信箱的设计与实现48q90。Springboot中小型企业物流管理系统的设计与实现ey32q。Springboot基于的流浪动物领养系统的设计与实现gz2gy。Springboot学生学业预警管理系统的设计与实现57j7l。Springboot高校餐饮管理系统的设计与实现ttu99。Springboot高校宿舍管理系统的设计与实现ukgdt。

程序加载是什么_ctf加载程序有什么用吗-程序员宅基地

文章浏览阅读2.4k次。程序加载是什么?解答:http://www.yayihouse.com/yayishuwu/chapter/1175_ctf加载程序有什么用吗

Python 求回归方程及显著性分析_linearregression方法怎么计算显著性python-程序员宅基地

文章浏览阅读806次,点赞15次,收藏5次。此外,stats.f.sf`的使用非常方便,可以通过调用`scipy.stats.f.sf(f_value, dfn, dfd)`来计算,其中f_value`是F统计量的值,`dfn`是分子自由度,`dfd`是分母自由度。stats.f.sf`是用于计算F分布生存函数的函数,它在假设检验中用于评估F统计量对应的p值,可以帮助判断数据中的方差是否具有统计学上的显著性差异。- **进行双侧检验**:如果是双侧检验,通常需要将`stats.f.sf`计算出的值乘以2,或者使用其他方法来计算双尾概率。_linearregression方法怎么计算显著性python

HCIE-Cloud Computing LAB备考第二步:模拟测试--第四题:升级FA/VRM_hcie云计算实验-程序员宅基地

文章浏览阅读183次。使用需要把文件放在固定目录(C:\packages)里;【使用chrome浏览器升级】,否则会报错“软件包不存在”把VRM升级包放到如下路径中但是还是报错“SHA256校验文件不存在”换成IE浏览器就都可以了。_hcie云计算实验

git命令之git tag 给当前分支打标签_git基于某个分支打tag-程序员宅基地

文章浏览阅读1.9w次,点赞2次,收藏20次。标签可以针对某一时间点的版本做标记,常用于版本发布。列出标签$ git tag # 在控制台打印出当前仓库的所有标签打标签git标签分为两种类型:轻量标签和附注标签。轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象。建议使用附注标签。# 创建轻量标签$ git tag v0.1.2-light# 创建附注标签_git基于某个分支打tag

软件设计师考试---数据库规范化和关系代数运算_软考数据库关系运算-程序员宅基地

文章浏览阅读1k次,点赞7次,收藏18次。这篇文章对数据库规范化和关系代数运算进行讲解。_软考数据库关系运算

推荐文章

热门文章

相关标签