gmnotifymanager.h

来自「墨香最新私服」· C头文件 代码 · 共 82 行

H
82
字号
// GMNotifyManager.h: interface for the CGMNotifyManager class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GMNOTIFYMANAGER_H__8AB34475_4213_4ADE_B123_5DF6F67CA06F__INCLUDED_)
#define AFX_GMNOTIFYMANAGER_H__8AB34475_4213_4ADE_B123_5DF6F67CA06F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define NOTIFYMGR USINGTON(CGMNotifyManager)


#include "PtrList.h"


#define MAX_NOTIFYMSG_LENGTH			127
#define MAX_NOTIFYMSG_PER_LINE			64
#define MAX_NOTIFYMSG_LINE				5
#define NOTIFYMSG_LAST_TIME				10000

#define NOTIFYMSG_DEFAULT_X				200
#define NOTIFYMSG_DEFAULT_Y				100
#define NOTIFYMSG_DEFAULT_WIDTH			624
#define NOTIFYMSG_DEFAULT_LINESPACE		10
#define NOTIFYMSG_DEFAULT_FONT			0

struct sGMNOTIFY
{
	DWORD	dwReceiveTime;
	DWORD	dwColor;
	int		nStrLen;
	char	strMsg[MAX_NOTIFYMSG_LENGTH+1];
};

enum eNOTIFY_CLASS
{
	eNTC_DEFAULT,
	eNTC_EMERGENCY,
	eNTC_COUNT,
};

const DWORD dwNotifyColor[eNTC_COUNT] = {

	RGBA_MAKE(0, 255, 60, 0),
	RGBA_MAKE(0, 255, 60, 0),
};

class CGMNotifyManager  
{
protected:

	cPtrList	m_ListNotify;
	int			m_nMaxLine;

	RECT		m_rcPos;
	int			m_nLineSpace;
	int			m_nFontIdx;

protected:
	void PushMsg( char* pMsg, DWORD dwColor );
	void PopMsg();

public:
	CGMNotifyManager();
	virtual ~CGMNotifyManager();

	void Init( int nMaxLine );
	void Release();
	void AddMsg( char* pMsg, int nClass = eNTC_DEFAULT );
	void Render();

	void SetPosition( LONG lx, LONG ly, LONG lWidth );
	void SetFont( int nFontIdx )		{ m_nFontIdx = nFontIdx; }
	void SetLineSpace( int nLineSpace ) { m_nLineSpace = nLineSpace; }
};

EXTERNGLOBALTON(CGMNotifyManager)

#endif // !defined(AFX_GMNOTIFYMANAGER_H__8AB34475_4213_4ADE_B123_5DF6F67CA06F__INCLUDED_)

⌨️ 快捷键说明

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