📄 pmacctrldlg.cpp
字号:
// 以记事本的形式打开数据处理过程中生成的插补文件供用户查看。
// ========================================
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 + -