请问大家,DC到底是个什么东东?请大家多多指点,如下几句有何意义:
cstatic m_cDispWnd;
CDC* pDC = m_cDispWnd.GetDC();
pDC->GetSafeHdc();
HDC hDC;
cstatic m_cDispWnd;
CDC* pDC = m_cDispWnd.GetDC();
pDC->GetSafeHdc();
HDC hDC;
解决方案 »
- VC 如何往CEditView中添加一行字符!
- 动态创建CEdit的问题
- 多线程的设置讨论(讨论想法)
- MDI窗口關閉
- 用view3ds将3ds文件转化成.h文件,用opengl显示为什么没有贴图效果
- 散尽分数,请问如何将网卡设置为“指定IP”地址状态?
- 谁能告诉我?CEdit和CStatic都是从CWnd继承,为什么CStatic没有焦点?
- 怎样将long数据类型转化为char* 数据类型
- 怎样发送消息?
- 我做了个木马,可是怎么样可以神不知鬼不觉的安装到别人的机器中呀?
- 菜鸟问题:如何通过AfxMessageBox()或MessageBox()显示一个int值,
- 城心求教?(在线等待至四月十七日零晨二点)
pDC->GetSafeHdc()得到输出设备上下文m_hDC
dc是一个可以直接对某一个绘图设备进行交互操作的东东
说dc是屏幕不完全正确,dc可以是一个打印机、一个元文件、一个屏幕等等,只要Windows为某一个显示或者绘图设备提供了足够的驱动,那么都可以从这个设备取得他的dc,进行相关操作:)
CDC是MFC提供的,封装了DC。 hDC是窗口显示上下文句柄,只有在窗口进行图形、文字输出的时候才需要它。
好比绘图要画纸,计算机中绘图的“画纸”就是显示器或者打印机。但是,Windows下的程序设计不允许我们直接操纵硬件设备,而是要求程序与设备无关。so what can we do??!!
Windows提供了DC(Device Context,设备环境)与真正的物理设备相联系,不过设备环境只是提供了一个环境,好比一个画室,还不是直接用于作画的“画纸”。
MFC提供的CDC类封装了Windows的DC,当用户构造CDC类的对象时,VC会创建相应的Windows的DC,并将两者关联呵呵,不知道楼主清楚了没有 ^-^