请教高手:关于HDC
请教高手:关于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
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
