#pragma once #include "afxdialogex.h" #include "CEquipment.h" // CPageRobotCmd 对话框 struct RCMDFieldMask { bool useArm; bool useGetPos; bool usePutPos; bool useGetSlot; bool usePutSlot; bool useSubCmd; }; class CPageRobotCmd : public CDialogEx { DECLARE_DYNAMIC(CPageRobotCmd) public: CPageRobotCmd(CWnd* pParent = nullptr); // 标准构造函数 virtual ~CPageRobotCmd(); void SetSequenceNo(int nSeq); BOOL SetControlsEnabled(BOOL bEnable); SERVO::ROBOT_CMD_PARAM CPageRobotCmd::GetRobotCmdParam(); // 对话框数据 #ifdef AFX_DESIGN_TIME enum { IDD = IDD_PAGE_ROBOT_CMD }; #endif protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 virtual BOOL OnInitDialog(); afx_msg void OnCbnSelchangeComboRcmd(); afx_msg void OnCbnSelchangeComboGetPos(); afx_msg void OnCbnSelchangeComboPutPos(); afx_msg void OnCbnSelchangeComboSubCmd(); DECLARE_MESSAGE_MAP() private: void UpdateSlotList(CComboBox* pComboDevice, CComboBox* pComboSlot); void UpdateMoveSubFields(); void UpdateInputUI(SERVO::RCMD cmd); int m_nSequenceNo; int m_nRcmd; int m_nArmNo; int m_nGetPosition; int m_nPutPosition; int m_nGetSlotNo; int m_nPutSlotNo; int m_nSubCmd; };