【发布时间】:2017-11-05 07:06:51
【问题描述】:
我正在使用CClientDC 对象,它用作GetDC 和ReleaseDC 函数的包装器:
- 从
CClientDC构造函数内部调用函数GetDC - 从
CClientDC析构函数内部调用函数ReleaseDC
在这期间,我操作 DC(更换钢笔、画笔等)。
但我很确定 CClientDC 对象不会将 DC 恢复到之前的状态。
这意味着我必须自己确认。对吗?
谢谢。
【问题讨论】:
-
是的。不过,目前尚不清楚您要完成什么(鉴于您的问题历史)。为什么不简单地遵循既定规则?
-
@IInspectable:我试图避免在我的代码中的几个
OnPaint处理程序中调用GetDC、ReleaseDC、SaveDC和RestoreDC。CClientDC类帮助我完成前两个。我希望有一个基础设施来帮助我与其他人。目前,我最终写了一个小class CAppDC : public CClientDC。 -
你应该在
OnPaint处理程序中使用CPaintDC,而不是CClientDC!