设备描述表数进行以及保存设备描述表
来源:互联网 发布:淘宝游戏店铺转让 编辑:程序博客网 时间:2024/06/05 05:39
设备描述表默认很多属性的,书中记载的是Window98支持的属性内容具体参看图
也就是说从坐标系统到画笔画刷以及颜色还有图像都会因为设备描述表属性不同而不同
通常,在您调用GetDC或者BeginPaint时,Windows用默认值创建一个新的设备描述表,您对属性所做的一切改变在设备描述表用ReleaseDC或者EndPaint调用时候
会释放都会丢失。.如果您需要程序中使用非默认的设备描述表属性,则您必须在每次获取设备描述表句柄初始化设备描述表.
虽然在通常情况下这种做法已经令人满意了,但是您还是可能想要在释放设备描述表之后,仍然保存程序中对设备描述表属性所做的更改,以便下一次调用GetDC和
BeginPaint时他们仍然起作用.为此可在登录窗口类时,将CS_OWNDC标志包含为窗口类的一部分
wndclass.style =CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
现在,基于这个窗口类所创建的每一个窗口都将拥有自己的设备描述表,它一直存在,直到窗口被删除.如果使用了CS_OWNDC风格,它就只需初始化设备描述表一次
可以在处理WM_CREATE消息期间完成这一操作
case WM_CREATE:
hdc = GETDC(hwnd);
[intialize device context attributes]
ReleaseDC(hwnd,hdc);
CS_OWNDC风格只影响GetDC和BeginPaint获取的设备描述表,不影响其他函数(GetWindowDC)获取设备描述表
另外,某些时候您可能希望改变设备描述表属性,用改变后的属性进行绘图,然后恢复原来的设备描述表.要简化这一过程可以通过如下调用来保存设备描述表的状态
iSave =SaveDC(hdc);
现在可以改变一些属性,再想回到调用SaveDC前存在的设备描述表时,调用
RestoreDC(hdc,idSaved);
您可以在调用RestoreDC前调用SaveDC数次,例如
iSave =SaveDC(hdc);
改变属性
iSave =SaveDC(hdc);
RestoreDC(hdc,-1); //返回最近的一次
RestoreDC(hdc,-2); //返回第二次保存的那个
- 设备描述表数进行以及保存设备描述表
- 设备描述表(设备环境)
- 设备描述表(DC)
- 设备描述表
- 设备描述表DC
- 关于设备描述表
- 设备描述表
- 设备描述表
- 设备描述表
- MFC设备描述表
- 内存设备描述表
- 关于设备描述表
- 获取设备描述表句柄
- 获取设备描述表信息
- Delphi 设备描述表 ;TCanvas...
- 设备描述表(DC)
- DC设备描述符表
- 设备描述表及绘图
- 计算字符串中的单词数,并将其输出
- 基础总结篇之一:Activity生命周期
- 安卓应用市场分类排名算法一般是怎样的?
- 周中训练笔记5
- Hibernate4配置log4j日志环境
- 设备描述表数进行以及保存设备描述表
- Java-零散总结(内部类、超类)
- 【Hystrix系列】二、RxJava的调用栈分析
- 【MBA】企业战略管理
- MySQL对数据表的基本操作语句
- poj3842之暴力
- hdu 2167 Pebbles[状压dp]
- HDU OJ 2013 蟠桃记
- 【数据结构 总论】---概述