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

📄 pmacctrldlg.cpp

📁 利用VC编写的PMAC控制芯片驱动程序
💻 CPP
📖 第 1 页 / 共 5 页
字号:
//	以记事本的形式打开数据处理过程中生成的插补文件供用户查看。
//	========================================
void CPmacCtrlDlg::OnCtrlViewInterpolation() 
{
	// TODO: Add your command handler code here
	CString viewintp;

	CString	msg, fileload;
	m_cb.GetLBText(m_cb.GetCurSel(),msg);

	if(msg == "直线_LINE")
		viewintp = "C:\\Windows\\notepad.exe " + BASEDIR + FILEINTPL;
	else if(msg == "圆_CIRCLE")
		viewintp = "C:\\Windows\\notepad.exe " + BASEDIR + FILEINTPC;
	else
		viewintp = "C:\\Windows\\notepad.exe " + BASEDIR + FILEINTPH;

//	WinExec(viewintp,SW_MAXIMIZE);
	WinExec(viewintp,SW_SHOW);
}

//	==============="查看逆解数据"-函数===============
//	以记事本的形式打开数据处理过程中生成的逆解文件供用户查看。
//	========================================
void CPmacCtrlDlg::OnCtrlViewInvkine() 
{
	// TODO: Add your command handler code here
	CString viewinvk;

	CString	msg, fileload;
	m_cb.GetLBText(m_cb.GetCurSel(),msg);

	if(msg == "直线_LINE")
		viewinvk = "C:\\Windows\\notepad.exe " + BASEDIR + FILEINVKL;
	else if(msg == "圆_CIRCLE")
		viewinvk = "C:\\Windows\\notepad.exe " + BASEDIR + FILEINVKC;
	else
		viewinvk = "C:\\Windows\\notepad.exe " + BASEDIR + FILEINVKH;

//	WinExec(viewinvk,SW_MAXIMIZE);
	WinExec(viewinvk,SW_SHOW);
}

//	================="自动运行"-函数=================
void CPmacCtrlDlg::OnCtrlAutoexecute() 
{
	// TODO: Add your command handler code here
	AfxMessageBox("这是一个预置功能按钮,有待进一步开发。");
}

//	================="加载NC代码"-函数=================
void CPmacCtrlDlg::OnCtrlLoadnc() 
{
	// TODO: Add your command handler code here
	AfxMessageBox("这是一个预置功能按钮,有待进一步开发。");
}

//					==========构型-菜单==========
//	菜单栏中的构型选项,选择某构型后,对话框中的构型选项相应改变。
//	=========================================	
void CPmacCtrlDlg::OnStructureOne() 
{
	// TODO: Add your command handler code here
	char	paraEdit[10000];
	strcpy(paraEdit, "您选择的是:");
	strcat(paraEdit, "构型-1。\t\t\t");
	strcat(paraEdit, "---------------------------------");
	strcat(paraEdit, "静平台直径1485mm,距顶板底面84mm,6个铰链点的角度见图例;\t\t\t");
	strcat(paraEdit, "                                 ");
	strcat(paraEdit, "动平台直径340mm,距动平台顶面61.5mm,6个铰链点的角度见图例。\t\t");
	strcat(paraEdit, "                                 ");
	strcat(paraEdit, "各铰链点位置分布见图例。");

	// Show the parameter to the dialog
	m_StructureParaEdit.SetSel(0,-1);
	m_StructureParaEdit.ReplaceSel(paraEdit);

	// Renew which structure choice button is chosen
	m_Structure = 0;
	UpdateData(FALSE);	
}

void CPmacCtrlDlg::OnStructureTwo() 
{
	// TODO: Add your command handler code here
	char	paraEdit[10000];
	strcpy(paraEdit, "您选择的是:");
	strcat(paraEdit, "构型-2。\t\t\t");
	strcat(paraEdit, "---------------------------------");
	strcat(paraEdit, "静平台铰链点位于形心高度为357.25mm的正三角形上,距顶板底面84mm,见图例;\t\t\t\t");
	strcat(paraEdit, "                                     ");
	strcat(paraEdit, "动平台直径340mm,距动平台顶面61.5mm,6个铰链点的角度见图例;\t\t");
	strcat(paraEdit, "                                 ");
	strcat(paraEdit, "滑块中心平面的极限位置为136-350mm,见图例。");
	
	m_StructureParaEdit.SetSel(0,-1);
	m_StructureParaEdit.ReplaceSel(paraEdit);

	// Renew which structure choice button is chosen
	m_Structure = 1;
	UpdateData(FALSE);
}

void CPmacCtrlDlg::OnStructureThree() 
{
	// TODO: Add your command handler code here
	char	paraEdit[10000];
	strcpy(paraEdit, "您选择的是:");
	strcat(paraEdit, "构型-3。\t\t\t");
	strcat(paraEdit, "---------------------------------");
	strcat(paraEdit, "静平台直径1109.02mm,距顶板底面84mm,6个铰链点的角度见图例;\t\t");
	strcat(paraEdit, "                                 ");
	strcat(paraEdit, "动平台直径340mm,距动平台顶面61.5mm,6个铰链点的角度见图例。\t\t");
	strcat(paraEdit, "                                 ");
	strcat(paraEdit, "各铰链点位置分布见图例。");
	
	m_StructureParaEdit.SetSel(0,-1);
	m_StructureParaEdit.ReplaceSel(paraEdit);

	// Renew which structure choice button is chosen
	m_Structure = 2;
	UpdateData(FALSE);
}

void CPmacCtrlDlg::OnStructureFour() 
{
	// TODO: Add your command handler code here
	char	paraEdit[10000];
	strcpy(paraEdit, "您选择的是:");
	strcat(paraEdit, "构型-4。\t\t\t");
	strcat(paraEdit, "---------------------------------");
	strcat(paraEdit, "静平台直径1101mm,距顶板底面84mm,3个铰链点的角度见图例;\t\t\t");
	strcat(paraEdit, "                                 ");
	strcat(paraEdit, "动平台直径340mm,距动平台顶面61.5mm,3个铰链点的角度见图例。\t\t");
	strcat(paraEdit, "                                 ");
	strcat(paraEdit, "各铰链点位置分布见图例。");
		
	m_StructureParaEdit.SetSel(0,-1);
	m_StructureParaEdit.ReplaceSel(paraEdit);

	// Renew which structure choice button is chosen
	m_Structure = 3;
	UpdateData(FALSE);
}

void CPmacCtrlDlg::OnStructureFive() 
{
	// TODO: Add your command handler code here
	char	paraEdit[10000];
	strcpy(paraEdit, "您选择的是:");
	strcat(paraEdit, "构型-5。\t\t\t");
	strcat(paraEdit, "---------------------------------");
	strcat(paraEdit, "静平台直径1485mm,距顶板底面84mm,6个铰链点的角度见图例;\t\t\t");
	strcat(paraEdit, "                                 ");
	strcat(paraEdit, "动平台直径340mm,距动平台顶面61.5mm,6个铰链点的角度见图例。\t\t");
	strcat(paraEdit, "                                 ");
	strcat(paraEdit, "各铰链点位置分布见图例。");

	m_StructureParaEdit.SetSel(0,-1);
	m_StructureParaEdit.ReplaceSel(paraEdit);

	// Renew which structure choice button is chosen
	m_Structure = 4;
	UpdateData(FALSE);
}

//					==========帮助-菜单==========

void CPmacCtrlDlg::OnHelpAbout() 
{
	// TODO: Add your command handler code here
	// Define variable dlgAbout belong to CAboutDlg class
	CAboutDlg	dlgAbout;
	dlgAbout.DoModal();
}

void CPmacCtrlDlg::OnHelpHelp() 
{
	// TODO: Add your command handler code here
	//AfxMessageBox(" Help documents are developing ! ");	
	CString help;
	help = "C:\\Windows\\notepad.exe .\\Help.txt";
//	WinExec(help,SW_MAXIMIZE);
	WinExec(help,SW_SHOW);
}

//		*****************************对话框窗口控件*******************************

//	========================="构型选择"单选RADIO-函数==============================
//	选中某一单选框后,在构型参数显示框内显示相应的构型参数
//	================================================================================
void CPmacCtrlDlg::OnStructure1RADIO() 
{
	// TODO: Add your control notification handler code here
	// Output structure parameter in structure parameter edit box
	char	paraEdit[10000];
	int		iStructureRADIO;
	iStructureRADIO = GetCheckedRadioButton(IDC_Structure1_RADIO,IDC_Structure5_RADIO);
	strcpy(paraEdit, "您选择的是:");
	if(iStructureRADIO == IDC_Structure1_RADIO)
	{
		strcat(paraEdit, "构型-1。\t\t\t");
		strcat(paraEdit, "---------------------------------");
		strcat(paraEdit, "静平台直径1485mm,距顶板底面84mm,6个铰链点的角度见图例;\t\t\t");
		strcat(paraEdit, "                                 ");
		strcat(paraEdit, "动平台直径340mm,距动平台顶面61.5mm,6个铰链点的角度见图例。\t\t");
		strcat(paraEdit, "                                 ");
		strcat(paraEdit, "各铰链点位置分布见图例。");
	}
	else if(iStructureRADIO == IDC_Structure2_RADIO)
	{
		strcat(paraEdit, "构型-2。\t\t\t");
		strcat(paraEdit, "---------------------------------");
		strcat(paraEdit, "静平台铰链点位于形心高度为357.25mm的正三角形上,距顶板底面84mm,见图例;\t\t\t\t");
		strcat(paraEdit, "                                     ");
		strcat(paraEdit, "动平台直径340mm,距动平台顶面61.5mm,6个铰链点的角度见图例;\t\t");
		strcat(paraEdit, "                                 ");
		strcat(paraEdit, "滑块中心平面的极限位置为136-350mm,见图例。");
	}
	else if(iStructureRADIO == IDC_Structure3_RADIO)
	{
		strcat(paraEdit, "构型-3。\t\t\t");
		strcat(paraEdit, "---------------------------------");
		strcat(paraEdit, "静平台直径1109.02mm,距顶板底面84mm,6个铰链点的角度见图例;\t\t");
		strcat(paraEdit, "                                 ");
		strcat(paraEdit, "动平台直径340mm,距动平台顶面61.5mm,6个铰链点的角度见图例。\t\t");
		strcat(paraEdit, "                                 ");
		strcat(paraEdit, "各铰链点位置分布见图例。");
	}
	else if(iStructureRADIO == IDC_Structure4_RADIO)
	{
		strcat(paraEdit, "构型-4。\t\t\t");
		strcat(paraEdit, "---------------------------------");
		strcat(paraEdit, "静平台直径1101mm,距顶板底面84mm,3个铰链点的角度见图例;\t\t\t");
		strcat(paraEdit, "                                 ");
		strcat(paraEdit, "动平台直径340mm,距动平台顶面61.5mm,3个铰链点的角度见图例。\t\t");
		strcat(paraEdit, "                                 ");
		strcat(paraEdit, "各铰链点位置分布见图例。");
	}
	else
	{
		strcat(paraEdit, "构型-5。\t\t\t");
		strcat(paraEdit, "---------------------------------");
		strcat(paraEdit, "静平台直径1485mm,距顶板底面84mm,6个铰链点的角度见图例;\t\t\t");
		strcat(paraEdit, "                                 ");
		strcat(paraEdit, "动平台直径340mm,距动平台顶面61.5mm,6个铰链点的角度见图例。\t\t");
		strcat(paraEdit, "                                 ");
		strcat(paraEdit, "各铰链点位置分布见图例。");
	}
	m_StructureParaEdit.SetSel(0,-1);
	m_StructureParaEdit.ReplaceSel(paraEdit);
}

void CPmacCtrlDlg::OnStructure2RADIO() 
{
	// TODO: Add your control notification handler code here
	CPmacCtrlDlg::OnStructure1RADIO();	
}

void CPmacCtrlDlg::OnStructure3RADIO() 
{
	// TODO: Add your control notification handler code here
	CPmacCtrlDlg::OnStructure1RADIO();	
}

void CPmacCtrlDlg::OnStructure4RADIO() 
{
	// TODO: Add your control notification handler code here
	CPmacCtrlDlg::OnStructure1RADIO();	
}

void CPmacCtrlDlg::OnStructure5RADIO() 
{
	// TODO: Add your control notification handler code here
	CPmacCtrlDlg::OnStructure1RADIO();	
}

//	============================="轨迹选择"组合框-函数================================
//	选择某一轨迹后,将其对应的参数编辑框激活,其他参数编辑框锁定。
//	===================================================================================	
void CPmacCtrlDlg::OnSelchangeComboChoice() 
{
	// TODO: Add your control notification handler code here
	CString msg;
	m_cb.GetLBText(m_cb.GetCurSel(),msg);

	// if LINE is chosen, enable Line parameter input zone,
	// disable other parameter input zone
	if(msg == "直线_LINE")
	{
		GetDlgItem(IDC_SX_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_SY_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_SZ_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_SA_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_SB_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_EX_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_EY_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_EZ_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_EA_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_EB_EDIT)->EnableWindow(TRUE);

		GetDlgItem(IDC_SR_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_SANG_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_SCPX_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_SCPY_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_SCPZ_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_ER_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_EANG_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_ECPX_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_ECPY_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_ECPZ_EDIT)->EnableWindow(FALSE);
	}

	// if CIRCLE is chosen, enable circle parameter input zone,
	// disable other parameter input zone
	else if(msg == "圆_CIRCLE")
	{
		GetDlgItem(IDC_SX_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_SY_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_SZ_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_SA_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_SB_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_EX_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_EY_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_EZ_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_EA_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_EB_EDIT)->EnableWindow(FALSE);

		GetDlgItem(IDC_ER_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_ECPX_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_ECPY_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_ECPZ_EDIT)->EnableWindow(FALSE);

		GetDlgItem(IDC_SR_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_SANG_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_SCPX_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_SCPY_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_SCPZ_EDIT)->EnableWindow(TRUE);
		GetDlgItem(IDC_EANG_EDIT)->EnableWindow(TRUE);

		UpdateData(TRUE);
		m_SrEdit = 0;		m_ErEdit = m_SrEdit;
		m_SangEdit = 0;		m_EangEdit = 0;
		m_ScpxEdit = 0;		m_EcpxEdit = m_ScpxEdit;
		m_ScpyEdit = 0;		m_EcpyEdit = m_ScpyEdit;
		m_ScpzEdit = 0;		m_EcpzEdit = m_ScpzEdit;
		UpdateData(FALSE);		
	}

	// if HELIX is chosen, enable helix parameter input zone,
	// disable other parameter input zone
	else
	{
		GetDlgItem(IDC_SX_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_SY_EDIT)->EnableWindow(FALSE);
		GetDlgItem(IDC_SZ_EDIT)->EnableWindow(FALSE);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -