📄 cardtestdlg.cpp
字号:
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 覆盖平面方式。;esagh;laesgh;lasdjg;ldashg;lasdhg;alsdhg;lsadhg;sadlgh;asldgh;sadghsa;dgh");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 覆盖平面方式。d.sgh;ldsakhg;lxcn.,cxnz213857-23986y3pwehgpn98y-643y4p32qifdsw36532532523");
OutString("显示初始化成功, 覆盖平3253w5839[w5u3[209u5-365=032[5iurdisj[gfewa09u5=2u436[32q65;asldgh;sadghsa;dgh");
OutString("显示初始化成功, 覆3wa5t43w6430968-4396u-439u6ldashg;lasdhg;alsdhg;lsadhg;sadlgh;asldgh;sadghsa;dgh");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 覆盖34643643790u43-7u-347u604376yshg;lasdhg;alsdhg;lsadhg;sadlgh;asldgh;sadghsa;dgh");
OutString("显示初始化成功, 覆盖43643634p9u6-8u4366=43968-09734-6743-967-43986-094ugjp;rjsayhpj[fdahj;fdahjrdah");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 覆盖平面fdhardfhafdhsdfhsdf4575457456-6374p68bnw6hpgrdhtpgb8p64u34p68u346346436sa;dgh");
OutString("显示初始化成功, 覆盖平436436u-34w6870934q876034u60p8934u60989u43068u340689u34069834w76346dfxhdfh;dgh");
OutString("显示初始化成功, 覆盖平dfjgdsrtjgfjdyke5o7ie75965e5e96i k7uy6576658[up9sfd[hujrd;hu';rduhj;sdfjha;dgh");
OutString("显示初始化成功, 覆盖平面方式。;fdhs'dfohk[s'dfpoh';jsdf;hjsdfh'fdhj'dfjh;djfskh'jdsfh;asldgh;sadghsa;dgh");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 覆盖平面dfhdfsuhpudfsh[dfs9uhpodfsuhpousdrh;pufd;uihj;fdsj;hjfdsh'jsdfhgh;sadghsa;dgh");
OutString("显示初始化成功, 覆盖平dfhkdfs[phi'pdfohi'pdfsh'pfdj';ljfd'hpjdrs[hu[");
OutString("显示初始化成功, 覆盖dfhjfd[phou[dfhupdofiuh[pdfouh[p'fjh/l.cjv;blj;fdj;hljfd;hjfd");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功xczbzxjcpobijxzc;oihb;xzocihb;kzxchb;zxchb;lkjcxz");
OutString("vcxzbzfCX:hj'shjuy]pedsgsdu'odt'jgj'kjt'pdih[5eiy7k;hflj'fdjh;lkjfdh;ljdfdf;hj'djfh'fdhj'df");
OutString("显示初始化成功, 覆盖平面方式sdgsdgsdgsegdshghfkm454ey5555555555555555555555555555555555555h;sadghsa;dgh");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");
OutString("显示初始化成功, 主平面方式。");*/
break;
}
return TRUE; // return TRUE unless you set the focus to a control
}
void CCardtestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void CCardtestDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CCardtestDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}
void CCardtestDlg::OnAppAbout()
{
// TODO: Add your command handler code here
CAboutDlg dlg;
dlg.DoModal();
}
void CCardtestDlg::OnCardOpen()
{
// TODO: Add your command handler code here
m_Card.CloseCard();
CChoice dlg(this, m_nCurrIndex);
m_nTotalCard=0;
int n=dlg.DoModal();
if(n==1){
if(m_nCurrIndex>=0){
GetMenu()->GetSubMenu(0)->EnableMenuItem(ID_CARD_CLOSE, MF_ENABLED);
GetMenu()->GetSubMenu(1)->EnableMenuItem(0, MF_BYPOSITION|MF_ENABLED);
GetMenu()->GetSubMenu(1)->EnableMenuItem(1, MF_BYPOSITION|MF_ENABLED);
GetMenu()->GetSubMenu(1)->EnableMenuItem(2, MF_BYPOSITION|MF_ENABLED);
//GetMenu()->GetSubMenu(1)->EnableMenuItem(3, MF_BYPOSITION|MF_ENABLED);
if(m_nCurrIndex<m_nTotalCard-1)
GetMenu()->GetSubMenu(0)->EnableMenuItem(ID_CARD_NEXT, MF_ENABLED);
else
GetMenu()->GetSubMenu(0)->EnableMenuItem(ID_CARD_NEXT, MF_GRAYED|MF_DISABLED);
}
}
if(m_nCurrIndex>=0){
m_Card.OpenCard(m_nCardList[m_nCurrIndex]);
CheckHeader();
}
}
void CCardtestDlg::OnCardClose()
{
// TODO: Add your command handler code here
GetMenu()->GetSubMenu(0)->EnableMenuItem(ID_CARD_CLOSE, MF_GRAYED|MF_DISABLED);
GetMenu()->GetSubMenu(1)->EnableMenuItem(0, MF_BYPOSITION|MF_GRAYED);
GetMenu()->GetSubMenu(1)->EnableMenuItem(1, MF_BYPOSITION|MF_GRAYED);
GetMenu()->GetSubMenu(1)->EnableMenuItem(2, MF_BYPOSITION|MF_GRAYED);
//GetMenu()->GetSubMenu(1)->EnableMenuItem(3, MF_BYPOSITION|MF_GRAYED);
CString str;
str.Format("关闭第 %d 块卡。", m_nCardList[m_nCurrIndex]);
OutString(str);
}
void CCardtestDlg::SelCard(int nIndex)
{
m_nCurrIndex=nIndex;
}
void CCardtestDlg::AddCard(int nCard)
{
m_nCardList[m_nTotalCard++]=nCard;
}
void CCardtestDlg::OnNumber()
{
// TODO: Add your command handler code here
CNumber dlg(this, &m_Card);
dlg.DoModal();
}
void CCardtestDlg::CheckHeader()
{
int nBus, nSlot;
m_Card.GetBusSlot(&nBus, &nSlot);
CString str;
str.Format("打开第 %d 块卡, 总线号=%d, 设备号=%d。", m_nCardList[m_nCurrIndex], nBus, nSlot);
OutString(str);
UCHAR Head[12];
if(!m_Card.GetEepromHeader(Head))
OutString("读EEPROM出错。");
else
OutString("读EEPROM正确。");
int nVendor=((Head[2]<<8)|(Head[3]));
if(nVendor==0xffff)
OnNumber();
m_Card.SetCardType(CNumber::GetType((Head[0]<<8)|(Head[1])), Head[6]&0x80);
}
void CCardtestDlg::OnCardNext()
{
// TODO: Add your command handler code here
CString str;
m_Card.CloseCard();
str.Format("关闭第 %d 块卡。", m_nCardList[m_nCurrIndex]);
OutString(str);
m_Card.OpenCard(m_nCardList[++m_nCurrIndex]);
if(m_nCurrIndex<m_nTotalCard-1)
GetMenu()->GetSubMenu(0)->EnableMenuItem(ID_CARD_NEXT, MF_ENABLED);
else
GetMenu()->GetSubMenu(0)->EnableMenuItem(ID_CARD_NEXT, MF_GRAYED|MF_DISABLED);
CheckHeader();
}
void CCardtestDlg::OnPreview()
{
// TODO: Add your command handler code here
CPreview dlg(this, &m_Card);
dlg.DoModal();
}
void CCardtestDlg::OnOK()
{
// TODO: Add extra validation here
}
void CCardtestDlg::OutString(CString strOut)
{
CString s;
CEdit *pEdit=(CEdit*)GetDlgItem(IDC_OUTPUT);
((CEdit*)GetDlgItem(IDC_OUTPUT))->GetWindowText(s);
s+=strOut;
s+="\r\n";
pEdit->SetWindowText(s);
pEdit->LineScroll(0x7fff);//NT: 0x7ffffff);
}
void CCardtestDlg::SetLastSerial(int nSerial)
{
m_nLastSerial=nSerial;
}
int CCardtestDlg::GetLastSerial()
{
return m_nLastSerial;
}
void CCardtestDlg::SetLastType(int nType)
{
m_nLastType=nType;
}
int CCardtestDlg::GetLastType()
{
return m_nLastType;
}
void CCardtestDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
ReleaseScreen();
m_Card.CloseCard();
CDialog::OnClose();
}
void CCardtestDlg::OnCompress()
{
// TODO: Add your command handler code here
CCompress dlg(this, &m_Card);
dlg.DoModal();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -