网站首页 新闻首页 网页设计图形动画软件编程网站开发办公软件操作系统数据库网络技术认证考试范文资料黑客攻防 书籍教程 进入论坛

如何从HDC建立一个CDC类?

http://www.diybl.com/ 2008-3-24  网络 点击:  [ 评论 ]
文章搜索:    【点击打包该文章】

有时Windows API将会给你一个DC句柄,你可以通过它建立一个CDC类。例如:下拉式列表、组合框和按钮。通过hDC你将接收到绘制消息。下面是将HDC转换成你更熟悉的CDC的程序段。你也可以将该技巧用在其他任何MFC类和Windows句柄的转换中。

void MyODList::DrawItem(LPDRAWITEMSTRUCT lpDrawItem){    CDC myDC;    myDC.Attach(lpDrawItem->hDC);    //在此插入其他需要的代码。    //如果你不将句柄分离,它将被删除,从而导致问题。    myDC.Detach();}
另一个方法是调用CDC类的FromHandle方法:            CDC * pDC = CDC:FromHandle(lpDrawItem->hDC);
目前还不清楚哪种方法更优越―使用FromHandle()的错误也许会更少些,因为它不要求你分离(detach)句柄。  

文章整理:DIY部落 http://www.diybl.com (本站)   【点击打包该文章】
如果图片或页面不能正常显示请点击这里 站内搜索:   

文章评论

请您留言