最近重温《MFC Windows应用程序设计》第二版这本书,里面的代码全部是使用VC6.0写的,我Win7下安装的是VS2008开发环境。

VC2008下添加和删除常见的消息响应函数有两种方法自动手动

     一、VC2008中自动添加消息响应函数

举一个《MFC Windows应用程序设计》的MFC单文档应用程序的例子,如下:

例4-9  设计一个利用CClientDC绘图,在窗口单击鼠标左键之后,在窗口的用户区出现一个菱形的应用程序。

(1)  在MFC AppWizard中创建一个名称为MFCexp4_9的单文档应用程序。

(2)  在视图类的OnLButtonDown()函数中输入如下代码。

void CMFCexp4_9View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CClientDC dc(this); //定义一个CClientDC的对象dc
CRect rect; //定义一个描述矩形的对象rect
GetClientRect(&rect); //获得窗口用户区的尺寸,并存入到rect //以下是绘制菱形的代码
dc.MoveTo(0,(rect.bottom+rect.top)/2);
dc.LineTo((rect.left+rect.right)/2,0);
dc.LineTo(rect.right,(rect.bottom+rect.top)/2);
dc.LineTo((rect.right+rect.left)/2,rect.bottom);
dc.LineTo(0,(rect.bottom+rect.top)/2); CView::OnLButtonDown(nFlags, point);
}

    其实在VS2008中添加消息响应函数的办法蛮简单的,方法如下:

             假如创建了一个名为Example的MFC单文档应用程序,则在VS2008中右键单击类视图中的CExampleView类,选中【Properties】,在属性页中选择【Messages】项,其中有WM_LBUTTONDOWN的鼠标左键按下的消息,点击消息后面的Add或者Delete即可一键添加或者删除消息响应函数以及对应的消息映射宏了。如下图所示:

            

             新浪博主百里无二转载的一篇博文很简洁:

VC2008 中添加MFC消息处理函数具体步骤如下:

·    1.在类视图中,右键需要添加处理函数的类,选择属性。

·    2.在“属性”窗口中,单击“消息”按钮。

·    3.在消息列表框中,选择需要添加的消息。

·    4.这样就可以在代码框中看到,OnCreate已经添加了。

想要删除的话再到消息框中选删除就可以了。

            

          二、VC2008中手动添加或删除消息响应函数

可以参照CSDN博主kivcare这篇博客:Vc2008中如何为视图类添加消息响应,他的方法是手动添加消息响应函数,删除的话就是逆过程了。手动删除消息响应函数需要删掉三个地方,以删除菜单响应函数为例时包括以下三个部分:

            1、头文件中的定义,如afx_msg void OnDialogModel();

2、源文件中的消息响应,如:ON_COMMAND(ID_DIALOG_MODEL, &CMyboleView::OnDialogModel)

            3、源文件中具体的函数体,例如void CMyboleView::OnDialogModel()函数的定义实现部分:

           看来以后得多使用一下VS2008这套工具,可以通过学习MFC和Win32应用程序多加练习。




VC2008中如何为MFC应用程序添加和删除消息响应函数的更多相关文章

  1. 在Unicode版Inno Setup中使用ISSkin给安装程序添加皮肤

    原文 http://www.cnblogs.com/2356/archive/2009/10/27/1590565.html 在Unicode版Inno Setup中使用ISSkin给安装程序添加皮肤 ...

  2. CentOS7安装CDH 第八章:CDH中对服务和机器的添加与删除操作

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  3. MFC开发中添加自定义消息和消息响应函数

    (1)在.h或.cpp文件定义一个消息 #define CLICK_MESSAGE_BOX WM_USER+1001 //add by 20180612 给主窗口ctrl.cpp发送消息 //自定义消 ...

  4. 【转载】MFC动态创建控件及其消息响应函数

    原文:http://blog.sina.com.cn/s/blog_4a08244901014ok1.html 这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)h ...

  5. MFC动态创建控件及其消息响应函数

    这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)http://topic.csdn.net/u/20101204/13/5f1b1e70-2f1c-4205-ba ...

  6. VS2008中编译运行MFC应用程序时,出现无法启动程序,因为计算机中丢失mfc90ud.dll的解决方案

     解决方法:"工具"->"选项"->"项目和解决方案"->"VC++目录",在可执行文件栏中加上如 ...

  7. Android中为你的应用程序添加桌面快捷方式

    public void ShortCut(View view){ createDeskShortCut(this,getString(R.string.short_cut),R.drawable.up ...

  8. django orm 改动数据库中已存在的表(添加、删除、修改表字段)

    python3 manage.py makemigrations --empty api # 因为我的models.py文件并直接在项目根目录,而是根目录下的api目录中 python3 manage ...

  9. Vue中组件化编码 完成任务的添加、删除、统计、勾选需求(实战练习三完结)

    上一个章节实现数据在组件之间的传递 .这一章主要是完成添加任务到任务栏.删除任务栏.统计任务完成情况.主要还是参数在各个组件之间的传递. 上一章节的链接地址:https://blog.csdn.net ...

随机推荐

  1. Rikka with Nickname (简单题)

    Rikka with Nickname  链接:https://www.nowcoder.com/acm/contest/148/J来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒空间限制:C/ ...

  2. java虚拟机规范(se8)——class文件格式(五)

    4.7.1 定义和命名新属性 允许编译器定义和发布的class文件在class文件结构体.field_info结构体.method_info结构体和Code结构体中的attributes表中包含新的属 ...

  3. 字符串格式的Url的截取

    一,我们先在看在页面上获取的URL的处理,如下方法: //获取全部URL string Url = Request.Url.ToString(); Url += "</br>&q ...

  4. cmd 编码格式

    相当于编辑器的声明为gbk格式编码,输出格式也是gbka = '中文' 就会以gbk编码为str,也只能以gbk解码. reload sys修改默认编码 在不指定编码的时候充当默认解码或者编码格式

  5. elasticsearch 嵌套对象之嵌套类型

    nested类型是一种特殊的对象object数据类型(specialised version of the object datatype ),允许对象数组彼此独立地进行索引和查询. 1. 对象数组如 ...

  6. 利用powerDesigner15.1连接oracle数据库并自动生成表结构

    利用powerDesigner15.1连接oracle数据库并自动生成表结构 参考:http://blog.csdn.net/qq_24531461/article/details/76713802 ...

  7. PHP应该学什么,如何学好PHP

    http://blog.sina.com.cn/s/blog_76bdabf70101azl4.html(注:原文来自传智播客) 本文转自http://blog.sina.com.cn/s/blog_ ...

  8. vue使用textare如何正确统计输入字符个数

    最近vue做微信公众号的开发,使用weui的textarea输入限制字数(官网例子),并且显示.代码如下:再安卓和电脑都没有问题,但是ios输入的时候,显示字数不正确, 但是输入之后删除其中一个,就可 ...

  9. H5 移动调试全攻略

    H5 移动调试全攻略 随着移动设备的高速发展,H5 开发也成为了 F2E 不可或缺的能力.而移动开发的重中之重就是掌握调试技巧,定 Bug于无形. 一.概要 因为移动端操作系统分为 iOS 和 And ...

  10. 网络编程NIO-异步

    异步I/O是没有阻塞地读写数据的方法.通常在代码进行read调用时,代码会阻塞直至可供读取的数据.同样,write调用将会阻塞直至数据能够写入. 1.selector是一个对象,可以注册到很多个cha ...