为什么绘图时不能直接用窗口句柄,往窗口上绘,还要搞个DC。查资料发现这是Device Context,也不清楚到底起了什么用。
看网上有人说这就相当于是Canvas,起一个画布的功能,好像像是那么回事,到底如何呢?
还看有人提到Screen和Canvas的Handle都叫做DC,但是是不一样的东西,这又怎么解释?
看网上有人说这就相当于是Canvas,起一个画布的功能,好像像是那么回事,到底如何呢?
还看有人提到Screen和Canvas的Handle都叫做DC,但是是不一样的东西,这又怎么解释?
解决方案 »
- 100分请教高手shift键加tab键同时按下键值是多少?
- RichEdit中的GetLinkCount()总返回0
- "SYSTEMTIME"这个结构体在那个头文件里定义?
- 移动硬盘图标消失
- 大家有在用 mfc8 吗?有何感觉
- 最近调程序调到郁闷啊(本贴无分,宣泄处理)
- 求助啊,分不够可加,本人想写一个edit,在edit里面显示一个表格
- 请高手指点一下菜鸟:我如何能够在工程中建立一个不需要基类的新类?它老是让我输入基类!
- 好心人有SPY++中文用法的给发个呗 谢谢
- MFC,DLL 窗口背景透明和颜色没法改变
- error C2065: 'AfxWinInit' : undeclared identifier
- member function already defined or declared
可以由函数
HDC GetDC(
HWND hWnd // handle to window
);
从一个窗口句柄中获得对应的DC handle.
DC有自己的属性,例如画刷、字体、画笔等等GDI对象,可以通过SelectObject改变之。
还有一组函数如,Textout,FillRect,Bitblt等等可以在DC上“画”一些东西,完成后就显示在对应的窗体上了。
但一个DC并不一定对应一个窗口句柄,可以创建Memory DC,由:CreateCompatibleDC。
你说的Canvas在Delphi中见过,VC里没有。
GDI+听说就没有DC了
PS:以上是个人理解,我也是菜鸟!