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

📄 usermng.cpp

📁 象棋框架
💻 CPP
字号:
// UserMng.cpp: implementation of the CUserMng class.
//
//////////////////////////////////////////////////////////////////////

#include "UserMng.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CUserMng::CUserMng()
{
	m_nTotalLine = 4;
	//m_nVScrollBarWidth = 0;
	
	m_bBottomBar = m_bTopBar = false;	
	
	m_nFontSpace = 5 * FONT_SPACE;	
	
	m_nBGID = IDB_BG_HELP;
	
}

CUserMng::~CUserMng()
{

}


void CUserMng::setFrame(void *f)
{
	frame = (CBrewLogin*)f;
	m_pShell = frame->frame->getCurrentShell();
	m_offsetX = frame->frame->getScreenOffsetX();
	m_offsetY = frame->frame->getScreenOffsetY();
	m_pdi = frame->frame->getDeviceInfo();
}

void CUserMng::paint(IDisplay *d, IGraphics *g)
{
	CBrewLoginCanvasBase::paint(d,g);
	
	AEERect rt;
	int i;
	int n = IDISPLAY_MeasureText( m_pIDisplay, m_nNowFont, GetDispText(IDS_SCR_LOGIN));
	AEERect rtText,rtOut,rtSel;
	SETAEERECT(&rtText,0,0,n+20,m_nNowSize+FONT_SPACE);

	for(i = 0; i < m_nTotalLine; i++)
	{
		if(GetLineRect(i,rt) != -1)
		{
			if(i == m_nCurrent)
				IDISPLAY_SetColor(d ,CLR_USER_TEXT, MAKE_RGB(255,0,0));
			else
				IDISPLAY_SetColor(d ,CLR_USER_TEXT, MAKE_RGB(0,0,0));
			GetFitRect(&rt,&rtText,&rtOut,IDF_ALIGN_MIDDLE|IDF_ALIGN_CENTER);
			SETAEERECT(&rtSel,rtOut.x - 1,rtOut.y - 1,rtOut.dx + 3,rtOut.dy + 3);
			if(i == m_nCurrent)
			{
				IDISPLAY_DrawRect(m_pIDisplay,&rtSel,RGB_BLACK,
					0,IDF_RECT_FRAME);
			}
			DrawButton(&rtOut);
			
			switch(i)
			{
			case 0:				
				IDISPLAY_DrawText( d, m_nNowFont,
					GetDispText(IDS_SCR_LOGIN), -1, 
					rt.x, rt.y,
					&rt, IDF_ALIGN_MIDDLE| IDF_TEXT_TRANSPARENT |IDF_ALIGN_CENTER);
				break;
			case 1:
				IDISPLAY_DrawText( d, m_nNowFont,
					GetDispText(IDS_SCR_NEW), -1, 
					rt.x, rt.y,
					&rt, IDF_ALIGN_MIDDLE| IDF_TEXT_TRANSPARENT |IDF_ALIGN_CENTER);
				break;
			case 2:
				IDISPLAY_DrawText( d, m_nNowFont,
					GetDispText(IDS_SCR_MOD), -1, 
					rt.x, rt.y,
					&rt, IDF_ALIGN_MIDDLE| IDF_TEXT_TRANSPARENT |IDF_ALIGN_CENTER);
				break;
			case 3:
				IDISPLAY_DrawText( d, m_nNowFont, 
					GetDispText(IDS_MENU_BACK), -1, 
					rt.x, rt.y,
					&rt, IDF_ALIGN_MIDDLE| IDF_TEXT_TRANSPARENT |IDF_ALIGN_CENTER);
				break;
			}
			IDISPLAY_SetColor(d ,CLR_USER_TEXT, MAKE_RGB(0,0,0));
		}		
	}
}

boolean CUserMng::key(UINT16 code, UINT32 param)
{
	CBrewLoginCanvasBase::key(code,param);
	if(code == AVK_CLR)
	{
		CBrewLogin* f = (CBrewLogin*)frame;
		f->SetCanvas(CBrewLogin::Canvas1);		
		f->m_nLoginState = LOGIN_READY_ROOM;
		return true;
	}
	if(code == AVK_SELECT)
	{
		switch(m_nCurrent)
		{
		case 0:
			{
				frame->m_bUserMng = false;
				frame->m_nLoginState = LOGIN_READY_LOGIN;
			}
			break;
		case 1:
			{
				//frame->m_bUserMng = false;
				frame->m_nLoginState = LOGIN_READY_REGISTER;
			}
			break;	
		case 2:
			{
				//frame->m_bUserMng = false;
				frame->m_nLoginState = LOGIN_READY_MODIFY;
			}
			break;
		case 3:
			{				
				CBrewLogin* f = (CBrewLogin*)frame;
				f->SetCanvas(CBrewLogin::Canvas1);				
				f->m_nLoginState = LOGIN_READY_ROOM;
				return true;
			}
			break;
		default:
			break;
		}
	}
	return false;
}

IBrewCanvas *CreateUserMng(){
	return (IBrewCanvas *)new CUserMng();
}

void CUserMng::SetDisplayInfo(IDisplay* d)
{
	CBrewLoginCanvasBase::SetDisplayInfo(d);
	SetFont(AEE_FONT_LARGE);
	
	if(m_rtInfo.dy / m_nTotalLine > m_nNowSize)
	{
		m_nFontSpace = m_rtInfo.dy / m_nTotalLine - m_nNowSize;
		m_nFontSpace = m_nFontSpace * 3 / 4;
	}
}

⌨️ 快捷键说明

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