gdi.h

来自「教你怎么用VC++做ActiveX控件」· C头文件 代码 · 共 39 行

H
39
字号
#ifndef _GDINODESTACK
#define _GDINODESTACK

#include "stdafx.h"
#include <afxtempl.h>

struct CGdiNodeStack
{
	CDC* m_pDC;
	CGdiObject* m_pGdiObject;
	CGdiObject* m_pSelectObject;
	CGdiNodeStack(CDC* pDC, CGdiObject* pGdiObject)
	{
		m_pDC = pDC;
		m_pGdiObject = pGdiObject;
		m_pSelectObject = m_pDC->SelectObject(m_pGdiObject);
	}
	~CGdiNodeStack()
	{
		m_pDC->SelectObject(m_pSelectObject);
	}
};

struct CGdiStack : public CList<CGdiNodeStack*, CGdiNodeStack*>
{
	void Push(CDC* pDC, CGdiObject* pGdiObject)
	{
		AddTail(new CGdiNodeStack(pDC, pGdiObject));
	}
	void Pop()
	{
		CGdiNodeStack* p = RemoveTail();
		delete p;
	}
};


#endif //_GDINODESTACK

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?