⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hoopstestview.cpp

📁 使用HOOPS库开发的一个教学演示工具。
💻 CPP
📖 第 1 页 / 共 5 页
字号:
							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 + -