📄 classcontainer.h
字号:
// ClassContainer.h: interface for the CClassContainer class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CLASSCONTAINER_H__E6B85029_61A3_11D5_8DCF_DFBF70A1033C__INCLUDED_)
#define AFX_CLASSCONTAINER_H__E6B85029_61A3_11D5_8DCF_DFBF70A1033C__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <string>
#include <deque>
class CAbWin;
using namespace std;
class CWindowClass
{
int m_iRef;
string m_strName;
ATOM m_hAtom;
HINSTANCE m_hInst;
public:
CWindowClass() : m_iRef(0),m_strName(),m_hAtom(0),m_hInst(0) {}
CWindowClass(const string &str,const ATOM atm,HINSTANCE hInst,int iRef=0)
: m_iRef(iRef),m_strName(str),m_hAtom(atm),m_hInst(hInst) {}
CWindowClass(const CWindowClass &c) : m_iRef(c.m_iRef),m_strName(c.m_strName),
m_hAtom(c.m_hAtom),m_hInst(c.m_hInst) {}
virtual ~CWindowClass() {}
const string &GetName() const { return m_strName; }
const ATOM GetAtom() const { return m_hAtom; }
const HINSTANCE GetInstance() const { return m_hInst; }
bool operator == (const string &str) const { return (strcmp(str.c_str(),m_strName.c_str()) == 0); }
bool operator == (const ATOM atm) const { return (atm==m_hAtom); }
// bool operator == (const CWindowClass &c) const { return (c.GetAtom()==m_hAtom); }
bool IsInUse() const { return (m_iRef > 0)?true:false; }
void RegisterUser() { m_iRef++; }
void UnRegisterUser() { m_iRef--; }
};
class CClassContainer
{
typedef deque<CWindowClass> TLstWndClass;
TLstWndClass m_lstWndClass;
public:
CClassContainer() : m_lstWndClass() {};
virtual ~CClassContainer();
ATOM RegisterClass(const WNDCLASSEX &);
void UnRegisterClass(const ATOM );
bool IsClassRegistered(const string &)const;
bool IsSystemClass(const string &)const;
};
CClassContainer *g_GetClassContainer();
#endif // !defined(AFX_CLASSCONTAINER_H__E6B85029_61A3_11D5_8DCF_DFBF70A1033C__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -