如何从HDC建立一个CDC类?
2008-03-20 12:21
246 查看
有时Windows API将会给你一个DC句柄,你可以通过它建立一个CDC类。例如:下拉式列表、组合框和按钮。通过hDC你将接收到绘制消息。下面是将HDC转换成你更熟悉的CDC的程序段。你也可以将该技巧用在其他任何MFC类和Windows句柄的转换中。
目前还不清楚哪种方法更优越―使用FromHandle()的错误也许会更少些,因为它不要求你分离(detach)句柄。
void MyODList::DrawItem(LPDRAWITEMSTRUCT lpDrawItem) { CDC myDC; myDC.Attach(lpDrawItem->hDC); //在此插入其他需要的代码。 //如果你不将句柄分离,它将被删除,从而导致问题。 myDC.Detach(); }
另一个方法是调用CDC类的FromHandle方法: CDC * pDC = CDC:FromHandle(lpDrawItem->hDC);
目前还不清楚哪种方法更优越―使用FromHandle()的错误也许会更少些,因为它不要求你分离(detach)句柄。
相关文章推荐
- 如何从HDC建立一个CDC类?
- 用过C#的朋友可能认为它是一种十分安全的语言,其实C#也可以做到经典的缓冲区溢出。 本文章将用一个实例来描述C#究竟是如何发生缓冲区溢出的! 首先建立一个C# Console工程,并开启工程的“允许
- 如何用AWS(亚马逊云服务器)搭建一个自己的blog (3) – 如何登陆到AWS建立的网络服务器
- 如何给虚拟机Ubuntu和win系统建立一个共享文件夹
- Windows 7如何建立一个FTP的快捷方式
- 在linux里如何建立一个快捷方式,连接到另一个目录
- 如何建立一个通用软件架构以满足嵌入式产品的快速迭代需求
- Android在如何建立一个WebServer
- (原創) 如何建立一个thread? (OS) (Linux) (C/C++) (C)
- 如何从零开始建立一个安卓项目(从无到有:爱西农)(一)
- 安卓航班网创始人:如何建立一个高质量的垂直社区
- 如何用VS2010新建一个类?用来写C++文件的标准格式建立?就是能做到声把声明放在.H里,实现放在.CPP里的
- 如何建立一个牛逼网站
- 如何用 Python 和 Flask 建立部署一个 Facebook Messenger 机器人
- 如何建立一个网站(我的5年经验谈)
- 如何建立和输出一个简单链表
- 如何建立一个创业公司——How to Start a Startup
- 建立索引的优缺点是什么?如何分析确定一个表上应该建立哪些索引
- 如何建立一个基于ITIL的服务台
- 创业公司增长指南:如何建立,完善和规模化一个增长计划