
windows绘图
Barry__
勿在浮沙筑高台
展开
-
WM_PAINT详解和WM_ERASEBKGND
WM_PAINT简介:WM_PAINT消息在Windows程序设计中是很重要的。当窗口显示区域的一部分显示内容或者全部变为“无效”,以致于必须“更新画面”时,将由这个消息通知程序。WM_PAINT产生的时机:1. 系统产生其实系统会在很多的不同的机制下发送WM_PAINT消息,比如调用UpdateWindow函数,第一次创建窗口,改变了窗口的大小,最大化,最小化等等。这些动作...原创 2016-01-27 22:29:12 · 7392 阅读 · 2 评论 -
Windows窗体原理及控件重绘技巧
之前有学MFC的同学告诉我觉得Windows的控件重绘难以理解,就算重绘成功了还是有些地方不明白,我觉得可能很多人都有这样的问题,在这里我从Windows窗体的最基本原理来讲解,如果你有类似的疑惑希望这篇文章可以帮你解惑。1.Windows窗体原理首先,如果看过Win32 SDK编程的都知道Windows的三大核心系统:负责窗口对象产生和消息分发的USER模块,负责图像显示转载 2018-01-29 11:42:21 · 2125 阅读 · 0 评论 -
WS_CLIPCHILDREN和WS_CLIPSIBLINGS
WS_CLIPCHILDREN裁剪子窗口区域MSDN解释Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window.当父窗口需要绘制的时候,排除其子窗原创 2017-06-08 15:19:08 · 566 阅读 · 0 评论 -
MFC显示网络图片_IPicture
转自:https://www.douban.com/note/181738144/3. IPictureIPicture的缩放效果好一点,有两种方法:1)一种是直接显示不下载图片到本地,[cpp] view plain copy HRESULT CListListBox::ShowPic(CDC* pDC,CString strImgUr转载 2017-02-04 10:24:34 · 1716 阅读 · 0 评论 -
vc在指定控件上绘制bmp
将bmp图片完整缩放到控件尺寸大小//在资源中加载位图 CBitmap bmp; bmp.LoadBitmap(IDB_UNTALK_BMP); //得到控件 CWnd* pPic = GetDlgItem(IDC_BMP_STATIC); //得到控件dc CClientDC dc(pPic); //创建兼容DC CDC dcMem; dcMem.CreateCompat原创 2016-08-03 18:27:24 · 1060 阅读 · 0 评论 -
MFC修改窗口客户区颜色
思路:响应WM_PAINT消息,纯色绘制客户区代码:CPaintDC dc(this); // device context for painting CRect rect; GetClientRect(rect); dc.FillSolidRect(rect,RGB(217,217,217)); //设置为灰色背景原创 2016-07-26 10:54:09 · 2864 阅读 · 0 评论 -
VC中动态显示GIF
需要这个类,用它显示图片很方便 http://files.cnblogs.com/sankye/PIC.rar1.加入图片控件:从对话框控件中把Picture Control(图片控件)拖入主对话框中,修改其属性:ID:IDC_GIF,TYPE:Rectangle,其余接受缺省选项。再在ClassWiard中为IDF_GIF加入CSatic控制变量m_GifPic, 注意看一下,GifDe转载 2016-04-09 14:01:34 · 2334 阅读 · 0 评论 -
Attach函数的讲解
Attach函数在MFC中是比较常见的,在不少类中都有这个成员函数例如CWnd类,CDC类,CBitmap类等。通用一点来说,它的作用是:关联windows的资源句柄和c++对象,窗口是资源,绘图设备也是资源,所以它们的类中会有这个函数关联windows的资源句柄和c++对象。这么说好像很抽象,下面以CWnd类中的Attach详细讲解,当你看完再回过头来看这段话时,就会明白了。CW原创 2016-02-02 11:23:18 · 16567 阅读 · 3 评论 -
GDI+使用步骤
相比较GDI,GDI+增加了渐变的画刷,支持多种图像格式等,不过最大的变化,还是编程模型上的变化。GDI+使用了面向对象的思想,对接口进行了类封装,使用更加方便。在应用程序中使用GDI+库应该遵循一下步骤: 1.引入Gdiplus.h头文件,加上:using namespace Gdiplus;这样使用GDI+中的任何东西就不需要重新指定命名空间了。 //引入gdi+头文件 #原创 2016-02-15 19:52:23 · 7863 阅读 · 1 评论 -
CClientDC,CPaintDC,CWindowDC,CDC
一 CClientDC CClientDC 派生于CDC类 客户区设备上下文,其矩形区域为窗口整个客户区,客户区的左上角的坐标为(0,0),与特定的窗口相关联,其构造函数中包含有GetDC();析构函数中包含有ReleaseDC(); 所以调用时直接使用,在调用完后也不用ReleaeDC();二 CPaintDC 相当于SDK的原创 2016-02-14 20:30:36 · 857 阅读 · 0 评论 -
MFC绘制点,线,矩形以及画刷,字体,位图的使用
点的绘制和获取 绘制: COLORREF SetPixel( HDC hdc, //DC句柄 int X, //x坐标 int Y, //y坐标 COLORREF crColor ); // 点的颜色 获取: COLORREF GetPixel( HDC hdc, //DC句柄 int XPos, //x坐标 int n原创 2016-02-14 11:00:34 · 16015 阅读 · 0 评论 -
CreateCompatibleDC与CreateCompatibleBitmap
CreateCompatibleDC函数功能:该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。函数原型:HDC CreateCompatibleDC(HDC hdc);参数:hdc:现有设备上下文环境的句柄,如果该句柄为NULL,该函数创建一个与应用程序的当前显示器兼容的内存设备上下文环境。返回值:如果成功,则返回内存设备上下文环境的句柄;如果失败,则返回值为NULL原创 2016-02-13 22:48:10 · 2794 阅读 · 0 评论 -
Windows绘图基础
句柄在Windows编程中,会经常提到句柄这个名词。要理解句柄,应注意以下几点:句柄是一个4字节的整数,Windows利用它标志应用程序创建和使用的资源,包括应用程序实例、窗口、菜单、控件、内存、外设、文件以及与图形相关的画笔、刷子等。句柄是Windows内部表资源数据存储的内存索引值,Windows利用它可访问表中的信息。通常,在程序中,要访问某个资源时,需要提供该资源的句柄,因此句原创 2016-02-12 18:54:38 · 3097 阅读 · 0 评论 -
windows绘图-区域CRgn
MFC区域 CRgn 概念简介:区域是一个抽象的概念,它也是绘图对象,但它并不像画笔,画刷那样好理解,我的理解是:它是一个长方形或者椭圆或者其他多边形的一个图像显示的集合。它最大的特点是区域之间可以进行逻辑运算,就像数学中集合之间的运算一样(与或非等)。区域进行逻辑运算之后再进行显示,可以出现特殊的效果。使用步骤: 2.1 创建区域 CreateRectRgn原创 2016-02-12 15:54:17 · 9967 阅读 · 2 评论 -
Windows微信DPI适配
一、背景随着近些年屏幕设备的不断发展,各种显示设备的分辨率也越来越高,在尺寸保持基本不变的情况下,分辨率越高,设备的DPI也越高,清晰度也就越高。高DPI的设备给我们提供了更精细的画质,然而Windows上的大多数应用并没有适配高DPI的显示器,导致应用在这些设备显示模糊,体验非常差。为了让应用在高DPI的设备上依然显示清晰,我们就需要对高DPI的设备进行适配。二...转载 2019-01-11 18:01:11 · 5688 阅读 · 0 评论