勇芳软件工作室.汉化:  Device Contexts > Device Contexts Functions >

GetDC

Previous pageReturn to chapter overviewNext page

描述

 

GetDC函数检索指定窗口或整个屏幕的客户区域的设备上下文(DC)的句柄。您可以在随后的GDI函数中使用返回的句柄来绘制直流。设备上下文是不透明的数据结构,其值由GDI内部使用。

 

GetDCEx功能是GetDC的扩展,它使应用程序能够更好地控制在客户端区域中是否发生裁剪。

 

C++ 语法

 

HDC GetDC(

__in HWND hWnd

);

 

PowerBASIC 语法

 

FUNCTION GetDC ( _

BYVAL hWnd AS DWORD _

) AS DWORD

 

参数

 

hWnd

 

[in]处理要检索DC的窗口。如果此值为NULL,则GetDC检索整个屏幕的DC。

 

Windows 98 / Me,Windows 2000 / XP / Vista / Windows 7:要获得特定显示器的DC,请使用EnumDisplayMonitorsCreateDC功能。

 

返回值

 

如果函数成功,则返回值是指定窗口的客户区域的DC的句柄。

 

如果函数失败,返回值为NULL。

 

Windows NT / 2000 / XP / Vista / Windows 7:要获取扩展错误信息,请调用GetLastError.

 

备注

 

GetDC函数根据指定窗口的类样式检索公共,类或私有DC。对于类和私有DC,GetDC保留先前分配的属性不变。但是,对于常见的DC,GetDC每次检索时都会将默认属性分配给DC。例如,默认字体是System,它是一个位图字体。因此,GetDC返回的公共DC的句柄不会告诉您绘制窗口时使用的字体,颜色或画笔。要确定字体,请调用GetTextFace.

 

请注意,DC的句柄只能由单个线程在任何时间使用。

 

在使用普通DC进行绘图后,必须调用ReleaseDC函数来释放DC。班级和私人DC不需要被释放。必须从调用GetDC的同一个线程调用ReleaseDC.DC的数量仅受可用内存限制。

 

Windows 95/98 / Me:每个线程只有5个常用DC可用,因此无法释放DC可能会阻止其他应用程序访问。

 

引用文件 #INCLUDE Once

 

WinGdi.inc(包括Windows.inc)