wincontainer.h

来自「miXo is a buzz machine (www.buzzmachines」· C头文件 代码 · 共 44 行

H
44
字号
#ifndef __WINCONTAINER_H
#define __WINCONTAINER_H

#include <string>
#include <deque>
#include "AbException.h"

long CALLBACK g_WindowProcCaller(HWND h,UINT uMsg,WPARAM wParam,LPARAM lParam);
BOOL CALLBACK  g_DialogProcCaller(HWND,UINT,WPARAM,LPARAM);
class CAbProcClient
{
public:
	CAbProcClient() {}
	virtual ~CAbProcClient() {}
	virtual LRESULT Proc(HWND,UINT,WPARAM,LPARAM) = 0;
	virtual const char *GetDesc() const { return "CAbProcClient"; }
};
class CAbProcData
{
	CAbProcClient *m_pcProcClient;
	HWND m_hWnd;
public:
	CAbProcData() : m_pcProcClient(NULL),m_hWnd(0) {};
	CAbProcData(CAbProcClient *pC,HWND h) : m_pcProcClient(pC),m_hWnd(h) {}
	virtual ~CAbProcData() {};
	CAbProcClient *GetClient() const { return m_pcProcClient; }
	HWND GetWndHandle() const { return m_hWnd; }
};

class CWinContainer
{
	typedef ::std::deque<CAbProcData*> TLstProcData;
	TLstProcData m_lstProcData;
public:
	CWinContainer() : m_lstProcData() {};
	virtual ~CWinContainer();
	void RegisterWindow(CAbProcClient*,HWND);
	void RegisterWindow(CAbProcData *);
	void UnregisterWindow(HWND);
	CAbProcClient *GetProc(HWND);
};
CWinContainer *g_GetWinContainer();

#endif

⌨️ 快捷键说明

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