鱼C论坛

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

[API档案] CreateDC

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

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

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

x
函数功能:

CreateDC 函数通过使用指定的名字为一个设备创建设备环境。


API 函数原型:

注释:_In_ 说明该参数是输入的,_out_ 说明该参数是输出的,_opt_ 说明该参数是可选参数。
HDC CreateDC(
  LPCTSTR lpszDriver,
  _In_  LPCTSTR lpszDevice,
  LPCTSTR lpszOutput,
  _In_  const DEVMODE *lpInitData
);

参数解析:

参数 含义
lpszDriver1. 指向一个以 NULL 为结束符的字符串指针,它可以是 TEXT("DISPLAY") 或显示设备的名称
2. 对于打印设备,我们推荐设置为 NULL,因为使用打印设备时,GDI 会忽略这个参数
lpszDevice 1. 指向一个以 NULL 为结束符的字符串指针,该字符串指定了正在使用的特定输出设备的名字(注意:不是打印机模式名)
2. 可以通过调用 EnumDisplayDevices 函数获得设备的名字
3. 如果 lpszDriver 是 TEXT("DISPLAY") 或显示设备的名称,那么本参数必须是 NULL 或者那个指定的显示设备的名称(如果是 NULL,那么创建出来的设备环境是根据主显示器创建的)
4. 如果是在拥有多个显示器的系统上,调用 CreateDC(TEXT("DISPLAY"), NULL, NULL, NULL) 将创建一个涵盖所有显示器的设备环境。
lpszOutput 这个参数必须为 NULL(仅为兼容 16 位系统而存在)
lpInitData1. 指向一个 DEVMODE 结构,该结构包含指定设备驱动程序初始化时需要的数据
2. 调用 DocumentProperties 函数可以获得指定设备的 DEVMODE 结构的数据
3. 如果设备驱动是使用用户指定的初始化数据(如果有的话),那么这个参数必须设置为 NULL
4. 如果 lpszDriver 是 TEXT("DISPLAY"),那么该参数必须是 NULL,然后 GDI 使用该显示设备当前的 DEVMODE 结构


返回值:

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

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


备注:

1. 注意,设备环境的句柄在任何时候都只能由单线程使用。

2. 对于 lpszDriver 和 lpszDevice 参数,可以通过调用 EnumDisplayDevices 函数获得显示设备的名字。

3. 如果你不再需要设备环境,请调用 DeleteDC 函数。

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

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

使用道具 举报

头像被屏蔽
发表于 2014-11-1 01:43:52 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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