📄 examdlg.cpp
字号:
}
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(TRUE);
//显示题目
GetDlgItem(IDC_RICHEDIT_QSTION)->SetWindowText(
CExmOnlineDlg::m_ptrData->GetSelQstion(CExmOnlineDlg::m_ptrData->GetSelID()));
//从数据库中获取并设置选项
CExmOnlineDlg::m_ptrData->SetSelAns();
//显示四个选项
GetDlgItem(IDC_RICHEDIT_ANSA)->SetWindowText(CExmOnlineDlg::m_ptrData->GetAnsA());
GetDlgItem(IDC_RICHEDIT_ANSB)->SetWindowText(CExmOnlineDlg::m_ptrData->GetAnsB());
GetDlgItem(IDC_RICHEDIT_ANSC)->SetWindowText(CExmOnlineDlg::m_ptrData->GetAnsC());
GetDlgItem(IDC_RICHEDIT_ANSD)->SetWindowText(CExmOnlineDlg::m_ptrData->GetAnsD());
}
else if (CExmOnlineDlg::m_ptrData->GetQstionType()==1)
{
//保存当前题有关信息
UpdateData();
CExmOnlineDlg::m_ptrData->SetSBlkAns(m_strBlkAns);
CExmOnlineDlg::m_ptrData->WriteBlkResult();
//显示上一题
CExmOnlineDlg::m_ptrData->DecreaseBlk();
m_strNotify.Format("填空题:共%d题,当前为第%d题",m_iNumBlk,
CExmOnlineDlg::m_ptrData->GetBlkSeqnce()+1);
GetDlgItem(IDC_STATIC_QSTION)->SetWindowText(m_strNotify);
m_strBlkAns=CExmOnlineDlg::m_ptrData->ReadSBlkAns();
UpdateData(FALSE);
int current=CExmOnlineDlg::m_ptrData->GetBlkSeqnce();
if(current==0)
{
GetDlgItem(IDC_BUTTON_PRE)->EnableWindow(FALSE);
}
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(TRUE);
//显示题目
GetDlgItem(IDC_RICHEDIT_QSTION)->SetWindowText(
CExmOnlineDlg::m_ptrData->GetBlkQstion(CExmOnlineDlg::m_ptrData->GetBlkID()));
//从数据库中获取并设置选项
CExmOnlineDlg::m_ptrData->SetBlkAns();
//显示四个选项
}
else if(CExmOnlineDlg::m_ptrData->GetQstionType()==2)
{
//保存当前题有关信息
UpdateData();
CExmOnlineDlg::m_ptrData->SetSJdgAns(m_iJudgement);
CExmOnlineDlg::m_ptrData->SetSJudgement(m_iJudgement);
CExmOnlineDlg::m_ptrData->WriteJdgResult();
//显示下一题
CExmOnlineDlg::m_ptrData->DecreaseJdg();
m_strNotify.Format("判断题:共%d题,当前为第%d题",m_iNumJdg,
CExmOnlineDlg::m_ptrData->GetJdgSeqnce()+1);
GetDlgItem(IDC_STATIC_QSTION)->SetWindowText(m_strNotify);
m_iJudgement=CExmOnlineDlg::m_ptrData->GetSJudgement();
UpdateData(FALSE);
int current=CExmOnlineDlg::m_ptrData->GetJdgSeqnce();
if(current==0)
{
GetDlgItem(IDC_BUTTON_PRE)->EnableWindow(FALSE);
}
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(TRUE);
//显示题目
GetDlgItem(IDC_RICHEDIT_QSTION)->SetWindowText(
CExmOnlineDlg::m_ptrData->GetJdgQstion(CExmOnlineDlg::m_ptrData->GetJdgID()));
//从数据库中获取并设置选项
CExmOnlineDlg::m_ptrData->SetJdgAns();
//显示四个选项
GetDlgItem(IDC_RICHEDIT_ANSA)->SetWindowText("");
}
}
void CExamDlg::OnButtonNext()
{
// TODO: Add your control notification handler code here
if(CExmOnlineDlg::m_ptrData->GetQstionType()==0)
{
//保存当前题有关信息
UpdateData();
CExmOnlineDlg::m_ptrData->SetSAns(m_iSSelect);
CExmOnlineDlg::m_ptrData->SetSSelection(m_iSSelect);
CExmOnlineDlg::m_ptrData->WriteSelResult();
//显示下一题
CExmOnlineDlg::m_ptrData->IncreaseSel();
m_strNotify.Format("选择题:共%d题,当前为第%d题",m_iNumSel,
CExmOnlineDlg::m_ptrData->GetSelSeqnce()+1);
GetDlgItem(IDC_STATIC_QSTION)->SetWindowText(m_strNotify);
m_iSSelect=CExmOnlineDlg::m_ptrData->GetSSelection();
UpdateData(FALSE);
int temp=CExmOnlineDlg::m_ptrData->GetSelNum(CExmOnlineDlg::m_ptrData->SGetsubjct())-1;
int current=CExmOnlineDlg::m_ptrData->GetSelSeqnce();
if(current==temp)
{
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(FALSE);
}
GetDlgItem(IDC_BUTTON_PRE)->EnableWindow(TRUE);
//显示题目
GetDlgItem(IDC_RICHEDIT_QSTION)->SetWindowText(
CExmOnlineDlg::m_ptrData->GetSelQstion(CExmOnlineDlg::m_ptrData->GetSelID()));
//从数据库中获取并设置选项
CExmOnlineDlg::m_ptrData->SetSelAns();
//显示四个选项
GetDlgItem(IDC_RICHEDIT_ANSA)->SetWindowText(CExmOnlineDlg::m_ptrData->GetAnsA());
GetDlgItem(IDC_RICHEDIT_ANSB)->SetWindowText(CExmOnlineDlg::m_ptrData->GetAnsB());
GetDlgItem(IDC_RICHEDIT_ANSC)->SetWindowText(CExmOnlineDlg::m_ptrData->GetAnsC());
GetDlgItem(IDC_RICHEDIT_ANSD)->SetWindowText(CExmOnlineDlg::m_ptrData->GetAnsD());
}
else if (CExmOnlineDlg::m_ptrData->GetQstionType()==1)
{
//保存当前题有关信息
UpdateData();
CExmOnlineDlg::m_ptrData->SetSBlkAns(m_strBlkAns);
CExmOnlineDlg::m_ptrData->WriteBlkResult();
//显示下一题
CExmOnlineDlg::m_ptrData->IncreaseBlk();
m_strNotify.Format("填空题:共%d题,当前为第%d题",m_iNumBlk,
CExmOnlineDlg::m_ptrData->GetBlkSeqnce()+1);
GetDlgItem(IDC_STATIC_QSTION)->SetWindowText(m_strNotify);
m_strBlkAns=CExmOnlineDlg::m_ptrData->ReadSBlkAns();
UpdateData(FALSE);
int temp=CExmOnlineDlg::m_ptrData->GetBlkNum(CExmOnlineDlg::m_ptrData->SGetsubjct())-1;
int current=CExmOnlineDlg::m_ptrData->GetBlkSeqnce();
if(current==temp)
{
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(FALSE);
}
GetDlgItem(IDC_BUTTON_PRE)->EnableWindow(TRUE);
//显示题目
GetDlgItem(IDC_RICHEDIT_QSTION)->SetWindowText(
CExmOnlineDlg::m_ptrData->GetBlkQstion(CExmOnlineDlg::m_ptrData->GetBlkID()));
//从数据库中获取并设置选项
CExmOnlineDlg::m_ptrData->SetBlkAns();
//显示四个选项
GetDlgItem(IDC_RICHEDIT_ANSA)->SetWindowText("");
}
else if(CExmOnlineDlg::m_ptrData->GetQstionType()==2)
{
//保存当前题有关信息
UpdateData();
CExmOnlineDlg::m_ptrData->SetSJdgAns(m_iJudgement);
CExmOnlineDlg::m_ptrData->SetSJudgement(m_iJudgement);
CExmOnlineDlg::m_ptrData->WriteJdgResult();
//显示下一题
CExmOnlineDlg::m_ptrData->IncreaseJdg();
m_strNotify.Format("判断题:共%d题,当前为第%d题",m_iNumJdg,
CExmOnlineDlg::m_ptrData->GetJdgSeqnce()+1);
GetDlgItem(IDC_STATIC_QSTION)->SetWindowText(m_strNotify);
m_iJudgement=CExmOnlineDlg::m_ptrData->GetSJudgement();
UpdateData(FALSE);
int temp=CExmOnlineDlg::m_ptrData->GetJdgNum(CExmOnlineDlg::m_ptrData->SGetsubjct())-1;
int current=CExmOnlineDlg::m_ptrData->GetJdgSeqnce();
if(current==temp)
{
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(FALSE);
}
GetDlgItem(IDC_BUTTON_PRE)->EnableWindow(TRUE);
//显示题目
GetDlgItem(IDC_RICHEDIT_QSTION)->SetWindowText(
CExmOnlineDlg::m_ptrData->GetJdgQstion(CExmOnlineDlg::m_ptrData->GetJdgID()));
//从数据库中获取并设置选项
CExmOnlineDlg::m_ptrData->SetJdgAns();
//显示四个选项
GetDlgItem(IDC_RICHEDIT_ANSA)->SetWindowText("");
}
}
void CExamDlg::OnCancel()
{
// TODO: Add extra cleanup here
if(IDYES==AfxMessageBox("您确定要退出吗?",MB_YESNO))
{
CExmOnlineDlg::m_ptrData->SetUserTypeNone();
CDialog::OnCancel();
}
}
void CExamDlg::OnButtonJudge()
{
// TODO: Add your control notification handler code here
GetDlgItem(IDC_RADIO_TRUE)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RADIO_FALSE)->ShowWindow(SW_SHOW);
//隐藏其他题型答题区域
GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RADIO_ANSA)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RICHEDIT_ANSA)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RADIO_ANSB)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RICHEDIT_ANSB)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RADIO_ANSC)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RICHEDIT_ANSC)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RADIO_ANSD)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RICHEDIT_ANSD)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT_BLKANS)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC_BLK)->ShowWindow(SW_HIDE);
if(CExmOnlineDlg::m_ptrData->GetQstionType()==0)
{
UpdateData();
CExmOnlineDlg::m_ptrData->SetSAns(m_iSSelect);
CExmOnlineDlg::m_ptrData->SetSSelection(m_iSSelect);
CExmOnlineDlg::m_ptrData->WriteSelResult();
}
else if(CExmOnlineDlg::m_ptrData->GetQstionType()==1)
{
UpdateData();
CExmOnlineDlg::m_ptrData->SetSBlkAns(m_strBlkAns);
CExmOnlineDlg::m_ptrData->WriteBlkResult();
}
CExmOnlineDlg::m_ptrData->SetQstionTypeJdg();
m_strNotify.Format("判断题:共%d题,当前为第%d题",m_iNumJdg,
CExmOnlineDlg::m_ptrData->GetJdgSeqnce()+1);
GetDlgItem(IDC_STATIC_QSTION)->SetWindowText(m_strNotify);
GetDlgItem(IDC_BUTTON_PRE)->EnableWindow(TRUE);
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(TRUE);
if (CExmOnlineDlg::m_ptrData->GetJdgSeqnce()==0)
{
GetDlgItem(IDC_BUTTON_PRE)->EnableWindow(FALSE);
}
else if(CExmOnlineDlg::m_ptrData->GetJdgSeqnce()==CExmOnlineDlg::m_ptrData->GetJdgNum(
CExmOnlineDlg::m_ptrData->SGetsubjct())-1)
{
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(FALSE);
}
else if(CExmOnlineDlg::m_ptrData->GetJdgSeqnce()>0 &&
CExmOnlineDlg::m_ptrData->GetJdgSeqnce()<CExmOnlineDlg::m_ptrData->GetJdgNum(
CExmOnlineDlg::m_ptrData->SGetsubjct())-1)
{
GetDlgItem(IDC_BUTTON_PRE)->EnableWindow(TRUE);
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(TRUE);
}
if(CExmOnlineDlg::m_ptrData->GetJdgSeqnce()==CExmOnlineDlg::m_ptrData->GetJdgNum(
CExmOnlineDlg::m_ptrData->SGetsubjct())-1 || CExmOnlineDlg::m_ptrData->GetJdgNum(
CExmOnlineDlg::m_ptrData->SGetsubjct())==0)
GetDlgItem(IDC_BUTTON_NEXT)->EnableWindow(FALSE);
GetDlgItem(IDC_RICHEDIT_QSTION)->SetWindowText(
CExmOnlineDlg::m_ptrData->GetJdgQstion(CExmOnlineDlg::m_ptrData->GetJdgID()));
CExmOnlineDlg::m_ptrData->SetJdgAns();
}
void CExamDlg::OnButtonSubmit()
{
// TODO: Add your control notification handler code here
if(CExmOnlineDlg::m_ptrData->GetQstionType()==0)
{
UpdateData();
CExmOnlineDlg::m_ptrData->SetSAns(m_iSSelect);
CExmOnlineDlg::m_ptrData->SetSSelection(m_iSSelect);
CExmOnlineDlg::m_ptrData->WriteSelResult();
}
else if(CExmOnlineDlg::m_ptrData->GetQstionType()==1)
{
UpdateData();
CExmOnlineDlg::m_ptrData->SetSBlkAns(m_strBlkAns);
CExmOnlineDlg::m_ptrData->WriteBlkResult();
}
else if(CExmOnlineDlg::m_ptrData->GetQstionType()==2)
{
UpdateData();
CExmOnlineDlg::m_ptrData->SetSJdgAns(m_iJudgement);
CExmOnlineDlg::m_ptrData->SetSJudgement(m_iJudgement);
CExmOnlineDlg::m_ptrData->WriteJdgResult();
}
if(IDYES==AfxMessageBox("确认交卷吗?交卷后将不能再次返回!",MB_YESNO))
{
CString temp=CExmOnlineDlg::m_ptrData->GetResult();
AfxMessageBox(temp);
CExmOnlineDlg::m_ptrData->SetUserTypeNone();
CDialog::OnOK();
}
}
void CExamDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if(CExmOnlineDlg::m_ptrData->CountDown())
{
m_strTime.Format("剩余时间:%d:%d:%d",
CExmOnlineDlg::m_ptrData->GetHour(),
CExmOnlineDlg::m_ptrData->GetMinute(),
CExmOnlineDlg::m_ptrData->GetSecond());
GetDlgItem(IDC_STATIC_NOTICE)->SetWindowText(m_strTime);
}
else
{
KillTimer(0);
AfxMessageBox("时间已到。请按“OK”结束考试。");
CDialog::OnOK();
}
CDialog::OnTimer(nIDEvent);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -