AutoSelector.h
上传用户:zhoushen
上传日期:2022-06-15
资源大小:84k
文件大小:1k
- ///////////////////////////////////////////
- // Saves current graphical drawing object,
- // selects a new one, then restores the old
- // one upon destruction.
- //
- class AutoSelector
- {
- public:
- AutoSelector(CDC* pDC, CGdiObject* pNew)
- : m_pOld(pDC->SelectObject(pNew)),
- m_pDC(pDC)
- {
- ASSERT(m_pOld);
- ASSERT(!pNew->IsKindOf(RUNTIME_CLASS(CRgn)));
- }
- AutoSelector(CDC* pDC, int iStockObject)
- : m_pOld(pDC->SelectStockObject(iStockObject)),
- m_pDC(pDC)
- {
- ASSERT(m_pOld);
- }
- ~AutoSelector()
- {
- m_pDC->SelectObject(m_pOld);
- }
- private:
- AutoSelector(const AutoSelector&);
- AutoSelector& operator=(const AutoSelector&);
- // prevent region selection at compile-time
- AutoSelector(CDC* pDC, CRgn* pRgn);
- CGdiObject* m_pOld;
- CDC* m_pDC;
- };