tempad
Readygo技术搜索引擎 >>游戏开发 >> 请教高手:关于HDC

请教高手:关于HDC

Readygo技术搜索引擎 网络搜索 efish 2008-1-17 2:00:14

请教高手:关于HDC

楼主seafire(中子星)2004-03-25 13:48:24 在 VC/MFC / 基础类 提问

我的代码:  
  HDC   hDC;  
  hDC=GetDC();  
  ...  
  ReleaseDC(hDc);  
   
  Error:   cannot   convert   from   "class   CDC   *"   to   "struct   HDC__   *"  
  请问这该如何解决?  
  谢谢。 问题点数:20、回复次数:17Top

1 楼keansun(萧天)回复于 2004-03-25 13:52:10 得分 0

CWnd->GetDCTop

2 楼happyparrot(快乐鹦鹉)回复于 2004-03-25 13:53:28 得分 10

第一种:  
  CDC   *pDC   =   GetDC();  
  ...  
  ReleaseDC(pDC);  
  第二种:  
  HDC   hDC;  
  hDC   =   GetDC()->m_hDC;  
  ...  
  Top

3 楼lbird(heng)回复于 2004-03-25 13:57:47 得分 0

CDC   *pDC;  
  pDC   =   GetDC();  
  ...  
  ReleaseDC(pDC)Top

4 楼seafire(中子星)回复于 2004-03-25 14:05:02 得分 0

谢谢各位大侠。但我还是不明白,我曾看到过有的范例这样使用的。快乐鹦鹉大侠,你教的GetDC是正确的,那ReleaseDC呢?  
  还有,我查MSDN,里面有CWnd::GetDC()和CWindow::GetDC(),请问有什么区别?Top

5 楼QunKangLi(心里面疼得有点发酸 一定是有雾来了 打湿了我的眼眶)回复于 2004-03-25 14:09:04 得分 0

CWindow是ATL(活动模板库)中的类,CWnd是MFC(微软基础类库)中的类.  
  HDC是系统资源,用完后需要释放,释放就是调用ReleaseDC()Top

6 楼seafire(中子星)回复于 2004-03-25 14:21:07 得分 0

那SelectPalette(hDc,hPalette,FALSE),RealizePalette(hDc)中的hDC应该申明成什么?  
  HDC还是CDC*?好像CDC不行的。Top

7 楼happyparrot(快乐鹦鹉)回复于 2004-03-25 14:21:33 得分 0

同意。Top

8 楼happyparrot(快乐鹦鹉)回复于 2004-03-25 14:22:02 得分 0

当然是HDC啊。Top

9 楼seafire(中子星)回复于 2004-03-25 14:43:09 得分 0

但是还有问题:ReleaseDC(hDc)  
  Error:cannot   convert   parameter   1   from   "struct   HDC__   *"   to   "class   CDC   *"  
  真是郁闷。还请大侠指教。谢谢。Top

10 楼happyparrot(快乐鹦鹉)回复于 2004-03-25 15:09:46 得分 0

HDC类型不能用ReleaseDC释放。ReleaseDC只能释放CDC指针!!!Top

11 楼seafire(中子星)回复于 2004-03-25 15:16:09 得分 0

那要如何释放?Top

12 楼QunKangLi(心里面疼得有点发酸 一定是有雾来了 打湿了我的眼眶)回复于 2004-03-25 15:41:45 得分 10

int   ReleaseDC(  
      HWND   hWnd,     //   handle   to   window  
      HDC   hDC           //   handle   to   DC  
  );Top

13 楼seafire(中子星)回复于 2004-03-25 15:58:44 得分 0

谢谢,我还是不会(太笨了)!  
  那应该是这样吗?ReleaseDC(hWnd,hDC)?Top

14 楼seafire(中子星)回复于 2004-03-25 19:30:53 得分 0

终于解决了,同实验室哥们这是厉害.  
  ::Release(NULL,hDC);  
  结帖庆祝ing.  
  Top

15 楼seafire(中子星)回复于 2004-03-25 19:34:50 得分 0

哇,连结帖都不让.居然参数错误!  
  快乐鹦鹉大侠,还有晓风吹泪醉霜林大侠,分稍后送出.Top

16 楼fvv(守护者)回复于 2004-03-25 20:31:33 得分 0

::ReleaseDC(NULL,hDC);吧   呵呵  
  Top

17 楼seafire(中子星)回复于 2004-03-25 20:51:39 得分 0

对对,是我写漏了.Top

责任编辑: efish 参与评论 查找更多:
相关文章
一个初级程序员的困惑 一个初级程序员的困惑
关于启动时,提前加载一个提示FORM的 关于启动时,提前加载一个提示FORM的
想实现用http://.../index.html#test实现页面定位该… 想实现用http://.../index.html#test实现页面定位该如何做?
有兴趣做程序外包的兄弟过来看看..... 有兴趣做程序外包的兄弟过来看看.....
vb5或6 如何实现如下功能的txt阅读程序?请高手指点 vb5或6 如何实现如下功能的txt阅读程序?请高手指点
.net的映射问题。 .net的映射问题。
真是烂到家了,没有见过这么烂的问题! 真是烂到家了,没有见过这么烂的问题!
童言无忌,进来轻松一下 童言无忌,进来轻松一下
如何实现这样的效果<iew.... 如何实现这样的效果<iew....
怎样才能找到一台具体计算机的指令系统? 怎样才能找到一台具体计算机的指令系统?
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎