📄 usermng.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 + -