放牧代码和思想
专注自然语言处理、机器学习算法
    This thing called love. Know I would've. Thrown it all away. Wouldn't hesitate.

关于HDC GetDC ReleaseDC

HDC hdc;定义一个设备上下文的句柄,在API中用
如API中响应WM_PAINT时,要在窗口中显示文字:
RECT rc;
GetClientRect(hWnd,&rc);//获取客户区域
PAINTSTRUCT ps;
HDC hdc=BeginPaint(hWnd,&ps);//获取设备上下文的句柄
DrawText(hdc,"hello",strlen("hello"),&rc,DT_CENTER);
EndPaint(hWnd,&ps);

GetDC:

函数功能:该函数检索一指定窗口的客户区域或整个屏幕的显示设备上下文环境的句柄,以后可以在GDI函数中使用该句柄来在设备上下文环境中绘图。

  GetDCEx函数是GetDC的一个扩展,它能使应用程序更多地控制在客户区域内如何或是否发生剪切。

  函数原型:HDC GetDC(HWND hWnd);

  参数:

  hWnd:设备上下文环境被检索的窗口的句柄,如果该值为NULL,GetDC则检索整个屏幕的设备上下文环境。

  Windows 98,WindowsNT 5.0或以后版本:如果该参数为Null,GetDC检索首要显示器的设备上下文环境,要得到其他显示器的设备上下文环境,可使用EnumDisplayMonitors和CreateDc函数。

  返回值:如果成功,返回指定窗口客户区的设备上下文环境;如果失败,返回值为Null。

  Windows NT:若想获得更多错误信息,可调用GetLastError函数。

  注释:GetDC函数根据指定的等级类型检索指定窗口普通的、典型的或特有的设备上下文环境。

  对于普通设备上下文环境,GetDC在每次检索的时候部分分配给它缺省特性,对于典型和特有的设备上下文环境,GetDC不改变先前设置的特性。

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

  速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

ReleaseDC  函数功能:函数释放设备上下文环境(DC)供其他应用程序使用。函数的效果与设备上下文环境类型有关。它只释放公用的和设备上下文环境,对于类或私有的则无效。
  函数原型:int ReleaseDC(HWND hWnd, HDC hdc);
  参数:
  hWnd:指向要释放的设备上下文环境所在的窗口的句柄。
  hDC:指向要释放的设备上下文环境的句柄。
  返回值:返回值说明了设备上下文环境是否释放;如果释放成功,则返回值为1;如果没有释放成功,则返回值为0。
  注释:每次调用GetWindowDC和GetDC函数检索公用设备上下文环境之后,应用程序必须调用ReleaseDC函数来释放设备上下文环境。
  应用程序不能调用ReleaseDC函数来释放由CreateDC函数创建的设备上下文环境,只能使用DeleteDC函数。
  速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;库文件:user32.lib。

知识共享许可协议 知识共享署名-非商业性使用-相同方式共享码农场 » 关于HDC GetDC ReleaseDC

评论 欢迎留言

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

我的作品

HanLP自然语言处理包《自然语言处理入门》