⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gmnotifymanager.h

📁 墨香最新私服
💻 H
字号:
// 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -