MFC技术
哥从来不玩真三
这个作者很懒,什么都没留下…
展开
-
CDC与HDC的区别以及二者之间的转换
CDC是MFC的DC的一个类 HDC是DC的句柄,API中的一个类似指针的数据类型. MFC类的前缀都是C开头的 H开头的大多数是句柄 这是为了助记,是编程读\写代码的好的习惯. CDC中所有MFC的DC的基类.常用的CClientDC dc(this);就是CDC的子类(或称派生类). CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即HDC类型的句柄.转载 2012-03-29 09:21:08 · 1133 阅读 · 0 评论 -
MFC的CRect介绍
CRect crect(a,b,c,d); a,b代表的是矩形区域的左上角的x和y坐标,c,d代表的是矩形区域的右下角的x和y坐标每一个窗口对象都有一个GetClientRect函数(它是CWnd的一个成员函数,每一个从CWnd派生的类都会继承它),用来返回当前窗口的区域。对话框有、对话框控件也有.....,那你就要看看是谁来调用这个GetClientRect函数的。 如果是在对话框内部调用的转载 2012-03-29 09:57:01 · 17966 阅读 · 0 评论 -
设备坐标和逻辑坐标
Windows应用程序绘制图形时使用的是一种逻辑单位,每个逻辑单位的大小由映射模式决定,这个逻辑单位既可以与设备单位(屏幕或打印机上的一个像素点)相同,也可以是一种物理单位(如毫米),还可以是用户自定义的一种单位。在Windows应用程序中,只要与输出有关系,都要使用映射模式。本文的目的是帮助读者了解映射模式的一些基本知识,并对在使用中经常出现的一些问题提出解决方案。一、映射模式基本知识当转载 2012-04-01 20:16:35 · 1062 阅读 · 0 评论 -
窗口坐标,逻辑坐标和视口坐标,设备坐标的区别
应该说 窗口坐标 是相对于 视口坐标 而言 逻辑坐标 是相对于 设备坐标 而言 补充: 窗口坐标是基于逻辑坐标的. 视口坐标是基于设备坐标. 上面这两话是抄自百度百科的,我的理解是: 窗口坐标的单位长度与逻辑坐标的单位长度相同,也就是说,当你在窗口坐标上画图时,传递给画图函数的参数的单位是逻辑单位。但是当windows把图形输出到屏幕上时,并不是直接把图形按照它在窗口坐标上的位置输出到屏幕上的,而转载 2012-04-01 21:06:30 · 1070 阅读 · 0 评论 -
CPaintDC、CClientDC、CWindowDC和CMetaFileDC类的主要特点及区别
1、 设备环境(DC) (1)在Windows中,显示工作是基于设备环境的。所谓设备环境(DC)是一种Windows数据结构,该结构包含应用程序设备输出时所需要的信息。 (2)在使用任何绘图函数之前必须建立一个设备环境对象。 (3)在Visual C++ 6.0的MFC中提供了设备环境类CDC,它封装了绘图所需要的所有函数,其中包括了大多数的Windows API中的GDI函数。2、 设备环境类2转载 2012-03-17 19:32:59 · 513 阅读 · 0 评论 -
MFC程序中各个函数的执行流程
1)CSdiApp theApp; //sdi.cpp2)CSdiApp::CSdiApp() //sdi.cpp3)BOOL CSdiApp::InitInstance() //sdi.cpp4)CSdiDoc::CSdiDoc() //sdiDoc.cpp5)CMainFrame::C转载 2012-03-17 21:22:40 · 1012 阅读 · 0 评论 -
单文档多视图(分割窗口)
单文档多视图本节演示了如何在一个框架中显示两个视图。1.实例说明在MFC中,视图必须存在于框架之中,而单文档只有一个框架,所以一次只能显示一个视图,如果想显示新视图必须关闭当前视图。如果想同时显示两个视图可以用分割窗口。本示例用于查询学生信息,数据存在文档类中,用户可以在第一个视图中输入学号,单击“查找”按钮查找学生消息,结果会显示在第二个视图中,效果如图1-53所示。图1转载 2012-03-22 11:36:47 · 4886 阅读 · 0 评论 -
unknown character '0xa1' 错误的解决方法 VC++6.0
unknown character '0xa1 这种编译错误常见于从网页上直接复制代码到编译器中的情况,由于VC++6.0不认识全角的空格,所以会报错(许多网页贴出的代码的每行前和后都包含一个到多个全角空格,最要命的仅仅凭你的肉眼是无法分辨它与C++能够识别的半角的差别。所以每每当我们欣喜的找到一段代码放到编译环境中编译试错误就出来了,而且是成堆的出现unknown character '0原创 2012-06-12 08:41:52 · 5038 阅读 · 0 评论 -
MFC利用双缓冲实现屏幕无闪烁刷新
在实现绘图的过程中,显示的图形总是会闪烁,笔者曾经被这个问题折磨了好久,通过向高手请教,搜索资料,问题基本解决,现将文档整理出来以供大家参考.1.显示的图形为什么会闪烁 我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏幕显示时是由OnPaint进行调用的。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往往与原创 2012-06-06 19:03:44 · 3689 阅读 · 0 评论