📄 test.cpp
字号:
theApp.memDC.DrawText("Q ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*13/24;
theApp.memDC.DrawText("备用键 ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
break;
case SAVE_CARD_KEY:
theApp.memDC.DrawText("R ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*13/24;
theApp.memDC.DrawText("备用键 ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
break;
case LACK_KEY:
theApp.memDC.DrawText("S ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*13/24;
theApp.memDC.DrawText("备用键 ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
break;
case SPARE5_KEY:
theApp.memDC.DrawText("T ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*13/24;
theApp.memDC.DrawText("备用键 ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
break;
case ARMY_POLICE_KEY:
theApp.memDC.DrawText("U ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*13/24;
theApp.memDC.DrawText("军警车 ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
break;
case MONEY_CARD_KEY:
theApp.memDC.DrawText("V ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*13/24;
theApp.memDC.DrawText("备用键 ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
break;
case VIOLATE_KEY:
theApp.memDC.DrawText("W ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*13/24;
theApp.memDC.DrawText("违章 ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
break;
case SPARE6_KEY:
theApp.memDC.DrawText("X ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*13/24;
theApp.memDC.DrawText(" 备用键 ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
break;
case FREEB_KEY:
theApp.memDC.DrawText("Y ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*13/24;
theApp.memDC.DrawText("备用键 ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
break;
case MODIFY_KEY:
theApp.memDC.DrawText("SPACE",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*13/24;
theApp.memDC.DrawText("修改 ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
break;
case VALID_KEY:
theApp.memDC.DrawText("ENTER",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*13/24;
theApp.memDC.DrawText("确认 ",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
break;
case CANCEL_KEY:
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,KEY_TEST_CANCEL,0);
break;
}
DrawScreen();
return TRUE;
}
// 绘制工作窗口
CTestKey::DrawWorkInfo(UINT nSlaveStatus)
{
nStatus=nSlaveStatus;
switch(nSlaveStatus){
case SHOW_KEY_MENU:
DrawKeyValue();
break;
}
}
// 绘制专用键盘按键值
void CTestKey::DrawKeyValue()
{
int nScreenX=theApp.nScreenX;
int nScreenY=theApp.nScreenY;
//虚函数并不调用父类的构造函数,故需显式的设置绘图环
ClearWorkRange();
int nLeft=nScreenX/64;
int nTop=nScreenY*4/15;
int nButtom=nScreenY*4/5;
int nRight=nScreenX*5/8;
theApp.memDC.Rectangle(CRect(nLeft,nTop,nRight,nButtom));
nTop=nScreenY/3;
theApp.memDC.DrawText("键测试",CRect(nLeft,nTop,nRight,nButtom),DT_CENTER|DT_TOP);
nLeft=nScreenX/6;
nTop=nScreenY*11/24;
theApp.memDC.DrawText("按动键:",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY/2;
theApp.memDC.DrawText("代码 :",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*13/24;
theApp.memDC.DrawText("功能 :",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nLeft=nScreenX/8;
nTop=nScreenY*17/24;
theApp.memDC.DrawText("取消键 / Esc 键 ---> 返回主菜单",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
DrawScreen();
}
UINT CTestTfi::nStatus;
UINT CTestTfi::nTestItem;
CTestTfi::CTestTfi()
{
}
// 处理按键
BOOL CTestTfi::ProcessKeyboard(UINT nChar)
{
BOOL bLegalityFlag=FALSE;
switch(nStatus){
case SHOW_TFI_MENU:
bLegalityFlag=ProcessKeyOfMenu(nChar);
break;
}
return bLegalityFlag;
}
// 处理按键
BOOL CTestTfi::ProcessKeyOfMenu(UINT nChar)
{
BOOL bLegalityFlag=FALSE;
switch(nChar){
case ONE_KEY:
bLegalityFlag=TRUE;
nTestItem=TEST_TFI_AUTO;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,TFI_TEST_SELECT,0);
break;
case TWO_KEY:
bLegalityFlag=TRUE;
nTestItem=TEST_TFI_OPEN;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,TFI_TEST_SELECT,0);
break;
case THREE_KEY:
bLegalityFlag=TRUE;
nTestItem=TEST_TFI_CLOSE;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,TFI_TEST_SELECT,0);
break;
case FOUR_KEY:
bLegalityFlag=TRUE;
nTestItem=TEST_TFI_OFF;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,TFI_TEST_SELECT,0);
break;
case CANCEL_KEY:
bLegalityFlag=TRUE;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,TFI_TEST_CANCEL,0);
break;
}
return bLegalityFlag;
}
// 绘制工作窗口
CTestTfi::DrawWorkInfo(UINT nSlaveStatus)
{
nStatus=nSlaveStatus;
switch(nSlaveStatus){
case SHOW_TFI_MENU:
DrawTfiMenu();
break;
}
}
// 绘制TFI菜单
void CTestTfi::DrawTfiMenu()
{
int nScreenX=theApp.nScreenX;
int nScreenY=theApp.nScreenY;
ClearWorkRange();
int nLeft=nScreenX/64;
int nTop=nScreenY*4/15;
int nButtom=nScreenY*4/5;
int nRight=nScreenX*5/8;
theApp.memDC.Rectangle(CRect(nLeft,nTop,nRight,nButtom));
nTop=nScreenY*7/24;
theApp.memDC.DrawText("收费显示牌测试",CRect(nLeft,nTop,nRight,nButtom),DT_CENTER|DT_TOP);
nLeft=nScreenX/12;
nTop=nScreenY*3/8;
theApp.memDC.DrawText("1 - 自动测试",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*5/12;
theApp.memDC.DrawText("2 - 点亮背景灯",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*11/24;
theApp.memDC.DrawText("3 - 熄灭背景灯",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY/2;
theApp.memDC.DrawText("4 - 关显示",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nLeft=nScreenX/6;
nTop=nScreenY*17/24;
theApp.memDC.DrawText("取消键 / Esc 键 ---> 返回主菜单",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
DrawScreen();
}
UINT CTestTfi::TestItem()
{
return nTestItem;
}
UINT CTestPrinter::nStatus;
UINT CTestPrinter::nTestItem;
CTestPrinter::CTestPrinter()
{
}
// 处理按键
BOOL CTestPrinter::ProcessKeyboard(UINT nChar)
{
BOOL bLegalityFlag=FALSE;
switch(nStatus){
case SHOW_PRINTER_MENU:
bLegalityFlag=ProcessKeyOfMenu(nChar);
break;
}
if(CScreen::ProcessKeyboard(nChar))
bLegalityFlag=TRUE;
return bLegalityFlag;
}
// 处理按键
BOOL CTestPrinter::ProcessKeyOfMenu(UINT nChar)
{
BOOL bLegalityFlag=FALSE;
switch(nChar){
case ONE_KEY:
bLegalityFlag=TRUE;
nTestItem=TEST_PRINTER_CLEAR;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,PRINTER_TEST_SELECT,0);
break;
case TWO_KEY:
bLegalityFlag=TRUE;
nTestItem=TEST_PRINTER_FEED;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,PRINTER_TEST_SELECT,0);
break;
case THREE_KEY:
bLegalityFlag=TRUE;
nTestItem=TEST_PRINTER_INFO;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,PRINTER_TEST_SELECT,0);
break;
case CANCEL_KEY:
bLegalityFlag=TRUE;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,PRINTER_TEST_CANCEL,0);
break;
}
return bLegalityFlag;
}
// 绘制工作窗口
CTestPrinter::DrawWorkInfo(UINT nSlaveStatus)
{
nStatus=nSlaveStatus;
switch(nSlaveStatus){
case SHOW_PRINTER_MENU:
DrawPrinterMenu();
break;
}
}
// 绘制票据打印机测试菜单
void CTestPrinter::DrawPrinterMenu()
{
int nScreenX=theApp.nScreenX;
int nScreenY=theApp.nScreenY;
ClearWorkRange();
int nLeft=nScreenX/64;
int nTop=nScreenY*4/15;
int nButtom=nScreenY*4/5;
int nRight=nScreenX*5/8;
theApp.memDC.Rectangle(CRect(nLeft,nTop,nRight,nButtom));
nTop=nScreenY*7/24;
theApp.memDC.DrawText("票据打印机测试",CRect(nLeft,nTop,nRight,nButtom),DT_CENTER|DT_TOP);
nLeft=nScreenX/12;
nTop=nScreenY*3/8;
theApp.memDC.DrawText("1 - 清空打印缓冲区",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*5/12;
theApp.memDC.DrawText("2 - 进纸",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*11/24;
theApp.memDC.DrawText("3 - 打印票据",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nLeft=nScreenX/6;
nTop=nScreenY*17/24;
theApp.memDC.DrawText("取消键 / Esc 键 ---> 返回主菜单",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
DrawScreen();
}
UINT CTestPrinter::TestItem()
{
return nTestItem;
}
UINT CTestOverlay::nStatus;
UINT CTestOverlay::nTestItem;
CTestOverlay::CTestOverlay()
{
}
// 处理按键
BOOL CTestOverlay::ProcessKeyboard(UINT nChar)
{
BOOL bLegalityFlag=FALSE;
switch(nStatus){
case SHOW_OVERLAY_MENU:
bLegalityFlag=ProcessKeyOfMenu(nChar);
break;
}
if(CScreen::ProcessKeyboard(nChar))
bLegalityFlag=TRUE;
return bLegalityFlag;
}
// 处理按键
BOOL CTestOverlay::ProcessKeyOfMenu(UINT nChar)
{
BOOL bLegalityFlag=FALSE;
switch(nChar){
case ONE_KEY:
bLegalityFlag=TRUE;
nTestItem=TEST_OVERLAY_TIME;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,OVERLAY_TEST_SELECT,0);
break;
case TWO_KEY:
bLegalityFlag=TRUE;
nTestItem=TEST_OVERLAY_LANE;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,OVERLAY_TEST_SELECT,0);
break;
case THREE_KEY:
bLegalityFlag=TRUE;
nTestItem=TEST_OVERLAY_INFO;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,OVERLAY_TEST_SELECT,0);
break;
case CANCEL_KEY:
bLegalityFlag=TRUE;
SendMessage(theApp.m_pMainWnd->m_hWnd,WM_OPTION_FINISH,OVERLAY_TEST_CANCEL,0);
break;
}
return bLegalityFlag;
}
// 绘制工作窗口
CTestOverlay::DrawWorkInfo(UINT nSlaveStatus)
{
nStatus=nSlaveStatus;
switch(nSlaveStatus){
case SHOW_OVERLAY_MENU:
DrawOverlayMenu();
break;
}
}
// 绘制字符叠加器菜单
void CTestOverlay::DrawOverlayMenu()
{
int nScreenX=theApp.nScreenX;
int nScreenY=theApp.nScreenY;
ClearWorkRange();
int nLeft=nScreenX/64;
int nTop=nScreenY*4/15;
int nButtom=nScreenY*4/5;
int nRight=nScreenX*5/8;
theApp.memDC.Rectangle(CRect(nLeft,nTop,nRight,nButtom));
nTop=nScreenY*7/24;
theApp.memDC.DrawText("字符叠加器测试",CRect(nLeft,nTop,nRight,nButtom),DT_CENTER|DT_TOP);
nLeft=nScreenX/12;
nTop=nScreenY*3/8;
theApp.memDC.DrawText("1 - 更新当前时间",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*5/12;
theApp.memDC.DrawText("2 - 叠加车道信息",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nTop=nScreenY*11/24;
theApp.memDC.DrawText("3 - 叠加收费信息",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
nLeft=nScreenX/6;
nTop=nScreenY*17/24;
theApp.memDC.DrawText("取消键 / Esc 键 ---> 返回主菜单",CRect(nLeft,nTop,nRight,nButtom),DT_LEFT|DT_TOP);
DrawScreen();
}
UINT CTestOverlay::TestItem()
{
return nTestItem;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -