鱼C论坛

 找回密码
 立即注册
查看: 5940|回复: 1

[API档案] GetDC

[复制链接]
发表于 2014-9-24 16:10:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
函数功能:

GetDC 函数用户获得指定窗口的客户区或整个屏幕的设备环境句柄,随后,你可以在 GDI 函数中使用该句柄在设备环境中绘图。

设备环境是一个不公开的数据结构,它的值供 GDI 函数内部使用。


API 函数原型:

注释:_In_ 说明该参数是输入的,_opt_ 说明该参数是可选参数。
HDC GetDC(
  _In_  HWND hWnd
);

参数解析:

参数 含义
hWnd1. 指定的窗口句柄
2. 如果该值是 NULL,获得整个屏幕的设备环境


返回值:

1. 如果函数调用成功,返回值是指定窗口的客户区的设备环境句柄;

2. 如果函数调用失败,返回值是 NULL。


备注:

1. GetDC 函数根据指定类型的窗口获得普通的、典型的或特有的设备环境。

2. 对于普通的设备环境,GetDC 函数在每次调用的时候为它赋值默认属性;对于典型的和特有的设备环境,GetDC 函数不改变先前设置的属性。

3. 在使用普通的设备环境绘图之后,必须调用 ReleaseDc 函数释放该设备环境;典型的和特有的设备环境则不需要释放,设备环境的个数仅受有效内存的限制。

4. 有一点要特别注意,GetDC 函数对系统的开销相对比较大,如果你的应用程序里使用了几百个 GetDC 函数而又不通过 ReleaseDC 函数释放的话,那么你机器运行速度将是龟速。

【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-11 15:05:40 | 显示全部楼层
如果获取整个屏幕的DC:
HDC hdcScreen;
hdcScreen = GetDC(NULL);


那么DC怎么释放?是不是这样:
ReleaseDC(NULL, hdcScreen);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 23:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表