ATL::CImage 的使用
摘要://转载自:http://www.cnblogs.com/songtzu/archive/2013/01/04/2843531.html前言CImage类是基于GDI+的,但是这里为什么要讲归于GDI? 主要是基于这样的考虑: 在GDI+环境中,我们可以直接使用GDI+ ,没多少必要再使用CImag...
阅读全文
开源一套DirectUI界面库
摘要:转载自:http://www.cppblog.com/weiym/archive/2012/07/03/181307.aspx最近改玩WinRT和Metro了,看到有些朋友还在玩基于GDI的DirectUI,正好自己以前也尝试写过的,反正放着也没用,开源吧。这个DirectUI界面库主要参考一个老外...
阅读全文
鼠标消息处理
摘要:一,鼠标消息的处理方式 大家都知道,目前市场上主流鼠标规格为两个按键加上一个滚轮。那么,我们先列出Windows中这种鼠标设备输入时的消息: WM_LBUTTONDBLCLK双击鼠标左键消息 WM_LBUTTONDOWN单击鼠标左键消息 WM_LBUTTONUP松开鼠标左键消息 WM_MB...
阅读全文
Windows GDI和GDI+区别(实例剖析)
摘要:1、概述GDI在全称是Graphics Device Interface,即图形设备接口。是图形显示与实际物理设备之间的桥梁。GDI接口是基于函数,虽然使程序员省力不少,但是编程方式依然显得麻烦。例如显示一张位图,我们需要进行“创建位图,读取位图文件信息,启用场景设备,调色板变化“等一系列操作。然而...
阅读全文
解决绘图时闪烁问题的一点经验
摘要:(转自网上)由于作图过于复杂和频繁,所以时常出现闪烁的情况,一些防止闪烁的方法,如下:(1)将Invalidate()替换为InvalidateRect()。Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而InvalidateRect()仅仅重画Rect区域内的内容,所以所需时...
阅读全文
Win32 GDI基础(笔记)
摘要:1、GDI名字的意义GDI Graphic Device Interface,我说不清和GUI有什么区别。可能一种针对设备,一种针对用户而言吧,反正以后都说GDI,也就是Windows的图形编程。2、设备描述上下文HDCHandle Device Context这个是关键的关键,可以理解成画图的环境...
阅读全文
VC++界面编程之--使用分层窗口实现界面皮肤
摘要:使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果。在很多情况下,界面的漂亮与否,取决于PS的制作及创意,而界面编程所需要做的就是将图片完整无缺的展示给用户。分层窗口的好处就是:用一层窗口来描绘窗口背...
阅读全文
vc 制作图片资源dll
摘要:方法一: 使用纯WIN32 DLL方法封装纯资源第一步,通过VS2005建立WIN32 DLL 空工程第二步,设置配置属性->链接器->高级->无入口点(是/NOENTRY)设置配置属性->C/C++->代码生成->运行时库(多线程/MT)第三步,加入图片资源并定义资源名称第四步,生成DLL,如Sk...
阅读全文
GDI GDI+ 的区别
摘要:GDI+是GDI的下一个版本,它进行了很好的改进,并且易用性更好。GDI的一个好处就是你不必知道任何关于数据怎样在设备上渲染的细节,GDI+更好的实现了这个优点,也就是说,GDI是一个中低层API,你还可能要知道设备,而GDI+是一个高层的API,你不必知道设备。例如你如果要设置某个控件的前景和背景...
阅读全文
VC图形绘制双缓存的代码复用性讨论
摘要://转载自:http://www.cnblogs.com/lidabo/p/3701981.html在前文中已经讨论了如何实现界面绘制双缓存的问题,前文网址如下:http://www.2cto.com/kf/201111/112429.html双缓存的主要思路是:先把图形绘制到内存DC中,然后再把内...
阅读全文
CImage类
摘要:CImage封装了DIB(设备无关位图)的功能,因而可以让我们能够处理每个位图像素。这里介绍GDI+和CImage的一般使用方法和技巧。我们知道,VisualC++的CBitmap类和静态图片控件的功能是比较弱的,它只能显示出在资源中的图标、位图、光标以及图元文件的内容,而不像VB中的Image控件...
阅读全文
TransparentBlt、StretchBlt与BitBlt三个函数的区别
摘要:BOOL StretchBlt( int x, //指定目的矩形区域左上角的X坐标 int y, //指定目的矩形区域左上角的Y坐标 int nWidth, //指定目的矩形区域的宽度 int nHeight, //指定目的矩形区域的高度 CDC* pSrcDC, int xSrc, //指定源矩形...
阅读全文
贴一个CMemDC 代码
摘要:罗索客 发布于 2006-11-28 21:53点击:3941次来自:原文: http://yuantao82.spaces.live.com/Blog/cns!8FC0A772D812A22F!139.entry?owner=1 #ifndef _MEMDC_H_ #define _MEMDC_H...
阅读全文
根据图像路径,创建CBitmap对象的方法
摘要:因为项目的关系,需要根据图像路径,创建CBitmap对象。起初查资料找到了LoadBitmap这个函数,根据CSDN得BOOL LoadBitmap ( LPCTSTRlpszResourceName);ParameterslpszResourceName:Points to a null-term...
阅读全文
VC++实现位图显示透明效果--实现原理
摘要:我们在进行程序的界面设计时,常常希望将位图的关键部分,也既是图像的前景显示在界面上,而将位图的背景隐藏起来,将位图与界面很自然的融合在一起,本文介绍了透明位图的制作知识,并将透明位图在一个对话框中显示了出来。本文所使用的原始位图及程序编译运行后的界面效果如下图所示:图一、原始位图图二、对话框界面上透...
阅读全文