小甲鱼 发表于 2014-9-24 16:24:22

CreateDC

函数功能:

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)所有,转载请注明来源。

WinSDK

大个的糖果 发表于 2014-11-1 01:43:52

页: [1]
查看完整版本: CreateDC