描述
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,请使用EnumDisplayMonitors和CreateDC功能。
返回值
如果函数成功,则返回值是指定窗口的客户区域的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)