【转载】注释AFX_MSG_MAP,AFX_DATA,AFX_DATA_MAP , Afx_MSG等宏不能删除

原文:

BEGIN_MESSAGE_MAP(CMy1Dlg, CDialog)
 //{{AFX_MSG_MAP(CMy1Dlg)
 ON_WM_SYSCOMMAND()
 ON_WM_PAINT()
 ON_WM_QUERYDRAGICON()
 ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
 //}}AFX_MSG_MAP
END_MESSAGE_MAP()

AFX_MSG_MAP ,这个宏是MFC用来构造消息映射表时用到的辅助宏,它埋在类识别宏或动态识别宏中

BEGIN_MESSAGE_MAP(CMy3View, CFormView)
 //{{AFX_MSG_MAP(CMy3View)
  // NOTE - the ClassWizard will add and remove mapping macros here.
  //    DO NOT EDIT what you see in these blocks of generated code!
 //}}AFX_MSG_MAP
 // Standard printing commands
 ON_COMMAND(ID_FILE_PRINT, CFormView::OnFilePrint)
 ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint)
 ON_COMMAND(ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview)
END_MESSAGE_MAP()

//{{AFX_DATA(CMy4Dlg)
 enum { IDD = IDD_MY4_DIALOG };
  // NOTE: the ClassWizard will add data members here
 //}}AFX_DATA

public:
 //{{AFX_DATA(CMy3View)
 enum{ IDD = IDD_MY3_FORM };
  // NOTE: the ClassWizard will add data members here
 //}}AFX_DATA

//{{AFX_DATA_MAP    组件数据与组件间的映射

Afx_MSG

发现注释AFX_MSG_MAP和AFX_DATA等宏不能删除,无论在基于对话框还是SDI,MDI中都不能删除,否则将出现cannot add new member 等错误,或双击控件不能进入事件处理。编译器需要!(VC6中,VC2010木有这些)

时间: 2024-08-07 02:08:35

【转载】注释AFX_MSG_MAP,AFX_DATA,AFX_DATA_MAP , Afx_MSG等宏不能删除的相关文章

(转载)html dom节点操作(获取/修改/添加或删除)

DOM 是关于如何获取.修改.添加或删除 HTML 元素的标准,下面为大家介绍下html dom节点操作,感兴趣的朋友可以参考下 HTML DOM 是关于如何获取.修改.添加或删除 HTML 元素的标准.在 HTML DOM 中,所有事物都是节点.DOM 是被视为节点树的 HTML. 根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点: 整个文档是一个文档节点 每个 HTML 元素是元素节点 HTML 元素内的文本是文本节点 每个 HTML 属性是属性节点 注释是注释节

(转载)解决“指定的服务已经标记为删除”问题

在注册DotNetWinService服务时,再使用 "sc delete 服务器名称" 命令删除服务就出现“指定的服务已经标记为删除”的异常. 刚开始感觉很奇怪,因为在网上查到别人都是那么删除windows服务的. 在一次偶然情况,我关闭了服务管理窗口,问题自然解决了. 因此,出现上述原因是运行删除服务项命令的时候,服务管理窗口未关闭引起的. 关闭服务管理窗口,重新删除.安装服务项即可.

宏定义的黑魔法 - 宏菜鸟起飞手册

转载:https://onevcat.com/2014/01/black-magic-in-macro/ 宏定义在C系开发中可以说占有举足轻重的作用.底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行.而在更高层级进行开发时,我们会将更多的重心放在业务逻辑上,似乎对宏的使用和依赖并不多.但是使用宏定义的好处是不言自明的,在节省工作量的同时,代码可读性大大增加.如果想成为一个能写出漂亮优雅代码的开发者,宏定义绝对是必不可少的技能(虽然宏本身

GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流(转载)

最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮助. GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'desc

宏------进阶

宏定义的黑魔法 - 宏菜鸟起飞手册 宏定义在C系开发中可以说占有举足轻重的作用.底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行.而在更高层级进行开发时,我们会将更多的重心放在业务逻辑上,似乎对宏的使用和依赖并不多.但是使用宏定义的好处是不言自明的,在节省工作量的同时,代码可读性大大增加.如果想成为一个能写出漂亮优雅代码的开发者,宏定义绝对是必不可少的技能(虽然宏本身可能并不漂亮优雅XD).但是因为宏定义对于很多人来说,并不像业务逻辑那

宏!!!!(拷贝别人的博客的只为了收藏)

入门 如果您完全不知道宏是什么的话,可以先来热个身.很多人在介绍宏的时候会说,宏嘛很简单,就是简单的查找替换嘛.嗯,只说对了的一半.C中的宏分为两类,对象宏(object-like macro)和函数宏(function-like macro).对于对象宏来说确实相对简单,但却也不是那么简单的查找替换.对象宏一般用来定义一些常数,举个例子: //This defines PI #define M_PI 3.14159265358979323846264338327950288 #define关键

Linux内核完全注释之编程语言和环境(一)

as86汇编器 1.来源与对于linux的用途 as86来源minix-386开发的intel 8086.80386汇编编译程序和链接程序,他主要为linux创建16位的启动引导扇区程序boot/bootsect.s和实模式下初始设置程序boot/setup.s的二进制执行代码. 2.语法 as86语法是基于minix系统的汇编 语言语法,与gnu as汇编器的语法不兼容 汇编的命令基本格式: as [option] -o objfile srcfile 3.语句 汇编语言程序srcfile是一

Linux 内核常见宏定义

我们在阅读Linux内核是,常见到这些宏 __init, __initdata, __initfunc(), asmlinkage, ENTRY(), FASTCALL()等等.它们定义在 /include/linux/init.h 和 /include/linux/linkage.h 以及其他一些.h 文件中. 1. __init 位置:/include/linux/init.h 定义: #define __init   __attribute__ ((__section__ (".init.

(转载)虚幻引擎3--9掌握虚幻技术UnrealScript 预处理器

第九章 – UNREALSCRIPT预处理器 9.1概述 9.2 MACRO(宏)的基础知识 指南 9.1 –您的第一个宏 9.3具有参数的宏 指南 9.2 –       MACRO参数 9.4内置宏 DEFINE IF/ELSE/ENDIF 实例:         IF/ELSE/ENDIF的应用 INCLUDE ISDEFINED/NOTDEFINED 示例: 结合使用         IF/ELSE/ENDIF 和 ISDEFINED/NOTDEFINED UNDEFINE LOG/WA