// AxisDetailSettingsDlg.cpp: 实现文件 // #include "stdafx.h" #include "BondEq.h" #include "afxdialogex.h" #include "AxisDetailSettingsDlg.h" // CAxisDetailSettingsDlg 对话框 IMPLEMENT_DYNAMIC(CAxisDetailSettingsDlg, CDialogEx) CAxisDetailSettingsDlg::CAxisDetailSettingsDlg(const CString& strRecipeName, int nAxisNO, CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_DIALOG_AXIS_DETAIL_SETTINGS, pParent) { m_strRecipeName = strRecipeName; m_nAxisNO = nAxisNO; m_pPLC = nullptr; m_nInitialWidth = 0; m_nInitialHeight = 0; } CAxisDetailSettingsDlg::~CAxisDetailSettingsDlg() { } void CAxisDetailSettingsDlg::SetPLC(CPLC* pPLC) { ASSERT(pPLC); m_pPLC = pPLC; } void CAxisDetailSettingsDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_STATIC_AXIS_NUMBER, m_staticAxisNO); DDX_Control(pDX, IDC_STATIC_AXIS_DESCRIP, m_staticAxisDescription); DDX_Control(pDX, IDC_STATIC_START_ADDRESS, m_staticStartAddress); } BEGIN_MESSAGE_MAP(CAxisDetailSettingsDlg, CDialogEx) END_MESSAGE_MAP() // CAxisDetailSettingsDlg 消息处理程序 BOOL CAxisDetailSettingsDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // TODO: 在此添加额外的初始化 CString strTitle; strTitle.Format(_T("Axis细部设定(配方: %s)"), m_strRecipeName); SetWindowText(strTitle); // 获取轴数据 RecipeManager& recipeManager = RecipeManager::getInstance(); auto axisDetails = recipeManager.getAxis(m_nAxisNO); if (axisDetails.id == -1) { CString strMsg; strMsg.Format(_T("轴 [%d] 不存在!"), m_nAxisNO); AfxMessageBox(strMsg); return FALSE; } m_staticAxisNO.SetWindowText(CString(axisDetails.number.c_str())); // 轴编号 m_staticAxisDescription.SetWindowText(CString(axisDetails.description.c_str())); // 轴描述 m_staticStartAddress.SetWindowText(CString(axisDetails.startAddress.c_str())); // 起始地址 return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE }