前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VC2008中如何为MFC应用程序添加和删除消息响应函数

VC2008中如何为MFC应用程序添加和删除消息响应函数

作者头像
ccf19881030
发布2019-04-23 16:51:33
1.9K0
发布2019-04-23 16:51:33
举报
文章被收录于专栏:ccf19881030的博客

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

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

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

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

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

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

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

代码语言:javascript
复制
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应用程序多加练习。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013年11月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档