MFC学习笔记
文章平均质量分 79
飞翔天空123
这个作者很懒,什么都没留下…
展开
-
VS2010 更改MFC标题栏图标和生成的执行文件图标
创建一个新工程,可以什么都不加。打开.rc, 创建或打开Icon资源(以下都以Icon为例)。 单击工程窗口的资源视图标签,选中资源ID为IDR_MAINFRAME图标资源,然后按Delete键把它删除掉,当然也可以不删,具体后面会讲到。 从资源菜单中选择Resource,然后选择Icon,添加资源,选中Icon类型,点击导入,此时会叫转载 2014-01-21 09:23:09 · 535 阅读 · 0 评论 -
编写有提示的listbox控件
在MFC中几乎所有的控件都有信息提示,而惟有listbox却没有这样的一个功能,每当我们把鼠标移到listbox上控件时,啥玩意儿都没有是不是很气馁啊,所以我今天特地写了一个简单的有提示的listbox控件,来实现那样的效果. 思路比较简单:我们首先构造一个自己mylistbox来继承listbox控件,然后在自己的mylistbox里添加一个ctool转载 2014-01-23 13:18:55 · 860 阅读 · 0 评论 -
MFC picture 控件加载图片
图片控件简介 图片控件和前面讲到的 静态文本框 都是静态文本控件,因此两者的使用方法有很多相同之处,所属类都是CStatic类,有关成员函数已在前面介绍,这里就不重复了。 图片控件静态和动态加载图片 鸡啄米下面为大家演示如何为图片控件静态和动态加载位图图片。 1. 图片控件静态加载图片转载 2014-01-23 11:36:08 · 2666 阅读 · 0 评论 -
MFC控件自绘之(四)
摘要:在前面我们分析了控件通知消息WM_NOTIFY,和WM_NOTIFY紧密联系的还有一个MFC新特性:消息反射。本文中,我想就这个问题作一个全面的论述,如果有错误,还望各路大虾批评指正。 什么是消息反射? 在windows里面,子控件经常向父控件发送消息,例如很多子控件要绘制自己的背景,就可能向父窗口发送消息WM_CTLCOLOR。对于从子控件发来的消息,父控件有可转载 2014-01-22 10:47:59 · 881 阅读 · 0 评论 -
MFC自绘入门之(三)
OnPaint是WM_PAINT消息的消息处理函数,在OnPaint中调用OnDraw,一般来说,用户自己的绘图代码应放在OnDraw中。OnPaint()是CWnd的类成员,负责响应WM_PAINT消息。OnDraw()是CVIEW的成员函数,没有响应消息的功能.当视图变得无效时(包括大小的改变,移动,被遮盖等等),Windows发送WM_PAINT消息。该视图的OnPaint 处理函数转载 2014-01-22 10:37:33 · 1918 阅读 · 0 评论 -
MFC自绘入门(一)
使用MFC画点的方法很简单,只需要调用COLORREF CDC::SetPixel( int x, int y, COLORREF crColor )就可以在指定点画上指定颜色,同时返回原来的颜色。COLORREF CDC::GetPixel( int x, int y)可以得到指定点的颜色。在Windows中应该少使用MFC的画点函数,因为这样做的执行效率比较低。 刷子和画笔是转载 2014-01-22 09:21:10 · 2020 阅读 · 0 评论 -
MFC控件自绘之(七)
MFC中的CDC,CClientDC,CPaintDC,CWindowDC的区别 CDC是Windows绘图设备的基类。 CClientDC: (1)(客户区设备上下文)用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其构造函数中包含了GetDC,析构函数中包含了ReleaseDC。 CPaintDC: (1)用于响应窗口重绘消息(WM_PAINT)是的绘图输出转载 2014-01-22 11:18:42 · 1341 阅读 · 0 评论 -
MFC控件自绘之(六)
WindowProc和DefWindowProc的区别1.WindowProc是你给自己的窗口定义的窗口处理函数DefWindowProc是windows平台提供的默认窗口处理函数如果某些消息你不需要做特别的处理,调用DefWindowProc进行处理就可以了,不需要你自己再去些那些windows的"标准动作"2.根据1,显然,你只能定义Window转载 2014-01-22 11:08:27 · 732 阅读 · 0 评论 -
MFC自绘控件之(8)
在您决定开发 Windows 提供的常规免费自定义控件范围之外的控件之后,您必需确定自己的控件将有多少独到之处 — 在功能和外观两方面。例如,我们假定您正在创建一个类似于计速表的控件。由于公共控件库 (ComCtrl32.dll) 中没有类似的控件,您完全需要自己进行以下操作:编写所有控件功能需要的代码,进行绘制,默认终端用户的交互,以及控件与其父窗口之间需要的任意消息处理。(#add转载 2014-01-22 11:32:28 · 2080 阅读 · 0 评论 -
MFC控件自绘之(五)
PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码. MFC 消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,可以改变MFC的消息控制流程,甚转载 2014-01-22 10:58:36 · 621 阅读 · 0 评论 -
MFC自绘入门之(二)
WM_DRAWITEM与DrawItem()的讨论 我在学习中经常遇到要重写DrawItem()的情况,但又有一个WM_DRAWITEM消息,它们是什么样的关系呢。如果我们要重写一个CButton取名为CMyButton,我们可以重写CMyButton的DrawItem()函数来实现我们的需求,但CMyButton::DrawItem()是在什么时候调用呢?它是在它的宿主类的O转载 2014-01-22 10:29:10 · 1030 阅读 · 0 评论 -
MFC按钮添加图片
VC中对话框上编辑里,通过控件方式无法给按钮设定图片的,需写代码实现,还好代码量不大,哈哈!首先建立基于对话框的MFC应用程序工程testDlg,添加按钮,ID为IDC_BUTTON_TEST,接下来一,首先建立位图句柄[cpp] view plaincopyprint?// 方法一:加载非资源图片 HBITMAP hBitmap; hBi转载 2014-01-21 11:54:33 · 1018 阅读 · 0 评论