📄 hoopstestview.cpp
字号:
HC_Set_Color("text = red"); HC_Insert_Text(0.6,0.2,0,"(D)");
HC_Close_Segment();
HC_Close_Segment();
}
else
{
sDanbaiThink.Replace("D","");
HC_Open_Segment("/danbai_think/answer/D");
HC_Flush_Contents(".","everything");
HC_Close_Segment();
}
}
#ifndef SECEND
if (nChar == 'E')
{
if (sDanbaiThink.Find("E") == -1)
{
sDanbaiThink += "E";
HC_Open_Segment("/danbai_think");
HC_Open_Segment("answer/E");
HC_Set_Text_Font("size = 0.03 sru"); HC_Set_Color("text = red"); HC_Insert_Text(0.8,0.2,0,"(E)");
HC_Close_Segment();
HC_Close_Segment();
}
else
{
sDanbaiThink.Replace("E","");
HC_Open_Segment("/danbai_think/answer/E");
HC_Flush_Contents(".","everything");
HC_Close_Segment();
}
}
if (nChar == 'F')
{
if (sDanbaiThink.Find("F") == -1)
{
sDanbaiThink += "F";
HC_Open_Segment("/danbai_think");
HC_Open_Segment("answer/F");
HC_Set_Text_Font("size = 0.03 sru"); HC_Set_Color("text = red"); HC_Insert_Text(1,0.2,0,"(F)");
HC_Close_Segment();
HC_Close_Segment();
}
else
{
sDanbaiThink.Replace("F","");
HC_Open_Segment("/danbai_think/answer/F");
HC_Flush_Contents(".","everything");
HC_Close_Segment();
}
}
#endif
WriteToFile("单摆实验想一想答案:" + sDanbaiThink);
break;
}
case 12:
{
if (nChar == 'A')
{
if (sTanhuangGuess.Find("A") == -1)
{
sTanhuangGuess += "A";
HC_Open_Segment("/tanhuang_guess");
HC_Open_Segment("answer/A");
HC_Set_Text_Font("size = 0.03 sru"); HC_Set_Color("text = red"); HC_Insert_Text(0.6,0.5,0,"(A)");
HC_Close_Segment();
HC_Close_Segment();
}
else
{
sTanhuangGuess.Replace("A","");
HC_Open_Segment("/tanhuang_guess/answer/A");
HC_Flush_Contents(".","everything");
HC_Close_Segment();
}
}
if (nChar == 'B')
{
if (sTanhuangGuess.Find("B") == -1)
{
sTanhuangGuess += "B";
HC_Open_Segment("/tanhuang_guess");
HC_Open_Segment("answer/B");
HC_Set_Text_Font("size = 0.03 sru"); HC_Set_Color("text = red"); HC_Insert_Text(0.8,0.5,0,"(B)");
HC_Close_Segment();
HC_Close_Segment();
}
else
{
sTanhuangGuess.Replace("B","");
HC_Open_Segment("/tanhuang_guess/answer/B");
HC_Flush_Contents(".","everything");
HC_Close_Segment();
}
}
if (nChar == 'C')
{
if (sTanhuangGuess.Find("C") == -1)
{
sTanhuangGuess += "C";
HC_Open_Segment("/tanhuang_guess");
HC_Open_Segment("answer/C");
HC_Set_Text_Font("size = 0.03 sru"); HC_Set_Color("text = red"); HC_Insert_Text(1,0.5,0,"(C)");
HC_Close_Segment();
HC_Close_Segment();
}
else
{
sTanhuangGuess.Replace("C","");
HC_Open_Segment("/tanhuang_guess/answer/C");
HC_Flush_Contents(".","everything");
HC_Close_Segment();
}
}
if (nChar == 'D')
{
if (sTanhuangGuess.Find("D") == -1)
{
sTanhuangGuess += "D";
HC_Open_Segment("/tanhuang_guess");
HC_Open_Segment("answer/D");
HC_Set_Text_Font("size = 0.03 sru"); HC_Set_Color("text = red"); HC_Insert_Text(1.2,0.5,0,"(D)");
HC_Close_Segment();
HC_Close_Segment();
}
else
{
sTanhuangGuess.Replace("D","");
HC_Open_Segment("/tanhuang_guess/answer/D");
HC_Flush_Contents(".","everything");
HC_Close_Segment();
}
}
WriteToFile("弹簧实验猜一猜答案:" + sTanhuangGuess);
break;
}
case 14:
{
if (nChar == 'A')
{
if (sTanhuangThink.Find("A") == -1)
{
sTanhuangThink += "A";
HC_Open_Segment("/tanhuang_think");
HC_Open_Segment("answer/A");
HC_Set_Text_Font("size = 0.03 sru"); HC_Set_Color("text = red"); HC_Insert_Text(0,0.2,0,"(A)");
HC_Close_Segment();
HC_Close_Segment();
}
else
{
sTanhuangThink.Replace("A","");
HC_Open_Segment("/tanhuang_think/answer/A");
HC_Flush_Contents(".","everything");
HC_Close_Segment();
}
}
if (nChar == 'B')
{
if (sTanhuangThink.Find("B") == -1)
{
sTanhuangThink += "B";
HC_Open_Segment("/tanhuang_think");
HC_Open_Segment("answer/B");
HC_Set_Text_Font("size = 0.03 sru"); HC_Set_Color("text = red"); HC_Insert_Text(0.2,0.2,0,"(B)");
HC_Close_Segment();
HC_Close_Segment();
}
else
{
sTanhuangThink.Replace("B","");
HC_Open_Segment("/tanhuang_think/answer/B");
HC_Flush_Contents(".","everything");
HC_Close_Segment();
}
}
if (nChar == 'C')
{
if (sTanhuangThink.Find("C") == -1)
{
sTanhuangThink += "C";
HC_Open_Segment("/tanhuang_think");
HC_Open_Segment("answer/C");
HC_Set_Text_Font("size = 0.03 sru"); HC_Set_Color("text = red"); HC_Insert_Text(0.4,0.2,0,"(C)");
HC_Close_Segment();
HC_Close_Segment();
}
else
{
sTanhuangThink.Replace("C","");
HC_Open_Segment("/tanhuang_think/answer/C");
HC_Flush_Contents(".","everything");
HC_Close_Segment();
}
}
if (nChar == 'D')
{
if (sTanhuangThink.Find("D") == -1)
{
sTanhuangThink += "D";
HC_Open_Segment("/tanhuang_think");
HC_Open_Segment("answer/D");
HC_Set_Text_Font("size = 0.03 sru"); HC_Set_Color("text = red"); HC_Insert_Text(0.6,0.2,0,"(D)");
HC_Close_Segment();
HC_Close_Segment();
}
else
{
sTanhuangThink.Replace("D","");
HC_Open_Segment("/tanhuang_think/answer/D");
HC_Flush_Contents(".","everything");
HC_Close_Segment();
}
}
WriteToFile("弹簧实验想一想答案:" + sTanhuangThink);
break;
}
}
CHoopsView::OnKeyUp(nChar, nRepCnt, nFlags);
}
// 记录操作过程
void ChoopstestView::WriteToFile(const char* str,BOOL clean)
{
static CString file;
if (clean)
{
file = "";
}
CTime time = CTime::GetCurrentTime();
CString newline = time.Format("[%Y-%m-%d %H:%M:%S] ");
newline.Append(str);
file.Append(newline);
file.Append("\n\n"); //隔行显示
CFile recfile;
recfile.Open(userlog,CFile::modeCreate|CFile::modeWrite);
recfile.Write(file.GetBuffer(),file.GetLength());
recfile.Close();
}
void ChoopstestView::onEnterLab()
{
//debug环境不执行
#ifndef _DEBUG
//弹出学生信息输入框 CWelcomeDlg *hellodlg = new CWelcomeDlg(); int result = hellodlg->DoModal(); if(result == IDOK) { ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////显示欢迎信息 HC_Open_Segment_By_Key(m_pHView->GetModelKey()); HC_Flush_Contents(".","everything"); HTK_Read_Stream_File(H_ASCII_TEXT("hsf\\welcome.hsf"),m_pHView->GetModel()->GetStreamFileTK()); HC_Close_Segment(); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////显示欢迎信息 //显示左侧菜单 cButton1.ShowWindow(SW_SHOW); cButton2.ShowWindow(SW_SHOW); cButton3.ShowWindow(SW_SHOW); cButton4.ShowWindow(SW_SHOW); cButtonLeave.ShowWindow(SW_SHOW); user.sName = hellodlg->sName; user.sBirthday = hellodlg->sBirthday; user.sClass = hellodlg->sClass; user.sSex = hellodlg->sSex; CTime time = CTime::GetCurrentTime(); userlog = "userdata\\" + user.sName + time.Format("-%H%M%S.log"); WriteToFile(user.sName + "(性别:" + user.sSex + ")(班级:" + user.sClass + ")(生日:" + user.sBirthday + ")进入实验" ,TRUE); } delete(hellodlg);
#endif
}
void ChoopstestView::onLeaveLab()
{
if (user.sName == "") return;
int leave = MessageBox("确定离开么?","虚拟实验室系统",MB_OKCANCEL);
if (leave == IDOK)
{
HC_Open_Segment_By_Key(m_pHView->GetModelKey()); HC_Flush_Contents(".","everything"); HTK_Read_Stream_File(H_ASCII_TEXT("hsf\\lab.hsf"),m_pHView->GetModel()->GetStreamFileTK()); HC_Close_Segment(); HC_Open_Segment("/danbai_guess/answer"); HC_Flush_Contents(".","everything"); HC_Close_Segment(); HC_Open_Segment("/danbai_think/answer"); HC_Flush_Contents(".","everything"); HC_Close_Segment(); HC_Open_Segment("/tanhuang_guess/answer"); HC_Flush_Contents(".","everything"); HC_Close_Segment(); HC_Open_Segment("/tanhuang_think/answer"); HC_Flush_Contents(".","everything"); HC_Close_Segment(); WriteToFile(user.sName + "离开实验");
user.sName = ""; state = 0; danbai_jindu = 0; tanhuang_jindu = 0;
userlog = "";
sDanbaiGuess = "";
sDanbaiThink = "";
sTanhuangGuess = "";
sTanhuangThink = "";
//隐藏左侧菜单 cButton1.ShowWindow(SW_HIDE); cButton2.ShowWindow(SW_HIDE); cButton3.ShowWindow(SW_HIDE); cButton4.ShowWindow(SW_HIDE); cButtonLeave.ShowWindow(SW_HIDE); }
}
void ChoopstestView::OnUpdateDanbai1(CCmdUI *pCmdUI)
{
#ifdef _DEBUG
user.sName = "debug";
user.sBirthday = "";
user.sClass = "";
user.sSex = "";
userlog = "userdata\\debug.log";
WriteToFile("DEBUG 测试运行" ,TRUE);#endif
if (danbai_jindu >= 0 && user.sName != "")
{
pCmdUI->Enable(TRUE);
}
else
{
pCmdUI->Enable(FALSE);
}
}
void ChoopstestView::OnUpdateDanbai2(CCmdUI *pCmdUI)
{
if (danbai_jindu >= 1 && user.sName != "")
{
pCmdUI->Enable(TRUE);
}
else
{
pCmdUI->Enable(FALSE);
}
}
void ChoopstestView::OnUpdateDanbai3(CCmdUI *pCmdUI)
{
if (danbai_jindu >= 2 && user.sName != "")
{
pCmdUI->Enable(TRUE);
}
else
{
pCmdUI->Enable(FALSE);
}
}
void ChoopstestView::OnUpdateDanbai4(CCmdUI *pCmdUI)
{
if (danbai_jindu >= 3 && user.sName != "")
{
pCmdUI->Enable(TRUE);
}
else
{
pCmdUI->Enable(FALSE);
}
}
void ChoopstestView::OnUpdateTanhuang1(CCmdUI *pCmdUI)
{
if (tanhuang_jindu >= 0 && user.sName != "")
{
pCmdUI->Enable(TRUE);
}
else
{
pCmdUI->Enable(FALSE);
}
}
void ChoopstestView::OnUpdateTanhuang2(CCmdUI *pCmdUI)
{
if (tanhuang_jindu >= 1 && user.sName != "")
{
pCmdUI->Enable(TRUE);
}
else
{
pCmdUI->Enable(FALSE);
}
}
void ChoopstestView::OnUpdateTanhuang3(CCmdUI *pCmdUI)
{
if (tanhuang_jindu >= 2 && user.sName != "")
{
pCmdUI->Enable(TRUE);
}
else
{
pCmdUI->Enable(FALSE);
}
}
void ChoopstestView::OnUpdateTanhuang4(CCmdUI *pCmdUI)
{
if (tanhuang_jindu >= 3 && user.sName != "")
{
pCmdUI->Enable(TRUE);
}
else
{
pCmdUI->Enable(FALSE);
}
}
void ChoopstestView::OnUpdateLogin(CCmdUI *pCmdUI)
{
if (user.sName == "")
{
pCmdUI->Enable(TRUE);
}
else
{
pCmdUI->Enable(FALSE);
}
}
void ChoopstestView::OnUpdateLogoff(CCmdUI *pCmdUI)
{
if (user.sName == "")
{
pCmdUI->Enable(FALSE);
}
else
{
pCmdUI->Enable(TRUE);
}
}
void ChoopstestView::OnMouseMove(UINT nFlags, CPoint point)
{
#ifdef SECEND
return;
#endif
if (state == 5 && (GetKeyState(VK_LBUTTON) < 0))
{
int x = degree + down_point.y
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -