关于GetDC与GetWindowDC

GetDc函数:用于获得hWnd参数所指定窗口的客户区域的一个设备环境。

所获得的设备环境可以是通用、类或者私有类型,具体由指定窗口的类风格决定。对于通用设备环境,GetDc函数每次获取一个设备环境时都会用默认属性对它进行初始化。该函数获得的类和私有设备环境会与它们最后一次的设置保持一致。当设备环境不再需要时,应该调用ReleaseDC函数将其释放。   
    
GetWindowDC函数:返回hWnd参数所指定的窗口的设备环境。

获得的设备环境覆盖了整个窗口(包括非客户区),例如标题栏、菜单、滚动条,以及边框。这使得程序能够在非客户区域实现自定义图形,例如自定义标题或者边框。当不再需要该设备环境时,需要调用ReleaseDC函数释放设备环境。注意,该函数只获得通用设备环境,该设备环境的任何属性改变都不会反映到窗口的私有或者类设备环境中(如果窗口有的话)

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。

GetDC与GetWindowDC 的区别相关推荐

  1. getdc 与getwindowDc的区别,loadbitmap 与loadimage的区别

    getdc 获取窗口的客户区:getwindowdc获取窗口的客户区包括菜单栏,滚动栏. loadbitmap中不能使用位图路径加载,只能使用位图ID:loadimage可以使用位图路径加载. 转载于 ...

  2. 关于GetDC与GetWindowDC 的区别

    GetDc函数:用于获得hWnd参数所指定窗口的客户区域的一个设备环境. 所获得的设备环境可以是通用.类或者私有类型,具体由指定窗口的类风格决定.对于通用设备环境,GetDc函数每次获取一个设备环境时 ...

  3. 关于CClientDC与CPAINTDC,以及GetDC与GetWindowDC的用法。

    关于CClientDC与CPAINTDC,以及GetDC与GetWindowDC的用法. CClientDC(客户区设备上下文)用于客户区的输出,它在构造函数中封装了GetDC(),在析构函数中封装了 ...

  4. 关于GetDC与GetWindowDC

    关于GetDC与GetWindowDC GetDc函数:用于获得hWnd参数所指定窗口的客户区域的一个设备环境. 所获得的设备环境可以是通用.类或者私有类型,具体由指定窗口的类风格决定.对于通用设备环 ...

  5. GetDc与GetWindowDc的含义

    GetDc函数:用于获得hWnd参数所指定窗口的客户区域的一个设备环境. 所获得的设备环境可以是通用.类或者私有类型,具体由指定窗口的类风格决定.对于通用设备环境,GetDc函数每次获取一个设备环境时 ...

  6. 关于CClientDC与CPAINTDC,以及GetDC与GetWindowDC。

    CClientDC(客户区设备上下文)用于客户区的输出,它在构造函数中封装了GetDC(),在析构函数中封装了ReleaseDC()函数.一般在响应非窗口重画消息(如键盘输入时绘制文本.鼠标绘图)绘图 ...

  7. ReleaseDC 和DeleteDC的用法区别

    当DC 是获取的(如:GetDC 或者GetWindowDC),就用ReleaseDC释放; 当DC 是自己用创建的(如:CreateDC),就用DeleteDC删除.

  8. 第05章 图形基础

    图形设备接口(GDI:Graphics Device Interface)是Windows的子系统,它负责在视讯显示器和打印机上显示图形.正如您所认为的那样,GDI是Windows非常重要的部分.不只 ...

  9. PowerBuilder/PB常用备忘

    目录 1. PB使用Microsoft.XMLHttp组件的属性与方法 1-1 使用步骤 1-2 XMLHTTP方法: 1-3 XMLHTTP属性: 1-4 示例: 2. Pb中Window添加鼠标滚 ...

最新文章

  1. ECCV 2020 | 首届GigaVision挑战赛揭榜,双赛道冠军技术干货分享
  2. MySQL · 最佳实践 · 如何索引JSON字段
  3. 5 控件固定大小_【聊技术】在Android中实现自适应文本大小显示
  4. Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站
  5. 虚拟机使用ESXi主机物理硬盘的办法
  6. 什么?在SAP中国研究院里还需要会PHP开发?
  7. ad9生成坐标文件_GROMACS各种文件格式介绍
  8. java 正则表达式 反向_正则表达式中的数量表示符、反向引用、零宽断言、以及java中的用法...
  9. P4172 [WC2006]水管局长 LCT维护最小生成树
  10. 详细解读Youtube推荐算法
  11. ‘numeric_limits’ is not a member of ‘std‘解决方法
  12. 我的世界起床战争php,我的世界起床战争最新版下载-我的世界起床战争手机版v1.21.5.115731 安卓版 - 极光下载站...
  13. 用excel表格解线性方程组
  14. Vue - 判断访问网页客户端设备是手机移动端还是 PC 电脑端(判断设备类型是否是移动端手机)
  15. 便捷的oh-my-zsh
  16. 队列 (Queue)
  17. 电子科技大学软件工程860考研上岸初试经验分享
  18. 网络设备互联技术· 『1』
  19. 不积跬步,无以至千里; 不积小流,无以成江海
  20. IDEA关闭当前文件改为ctrl + w

热门文章

  1. 虚拟机搭建Ubuntu16.04系统
  2. 【100%通过率】华为OD机试真题 C++ 实现【最优芯片资源占用】【2023 Q1 | 100分】
  3. 万高药业IPO过会:年营收7.1亿 姚俊华持股34%
  4. Windows10 MySQL8.0版本的压缩包安装方式
  5. 禁用开启笔记本自带键盘
  6. 紫羚云秦鸿林:大中型企业实施IT服务管理(ITSM)的几大难题
  7. win10蓝屏的处理思路
  8. oracle学习app,Oracle学习相关
  9. Codeforces Round #829 cf1753A Cowardly Rooks
  10. [codeforces 1324D] Pair of Topics 分而治之+排列组合