// ProcessButton.cpp : 实现文件 // #include "stdafx.h" #include "resource.h" #include "afxwin.h" #include "..\..\..\SevenOcean\SO7_Proto.h" #include "MyMFCButton.h" extern CSO7_Proto* m_pSO7_Proto; // CMyMFCButton IMPLEMENT_DYNAMIC(CMyMFCButton, CMFCButton) CMyMFCButton::CMyMFCButton() { } CMyMFCButton::~CMyMFCButton() { } BEGIN_MESSAGE_MAP(CMyMFCButton, CMFCButton) ON_WM_LBUTTONDOWN() ON_WM_LBUTTONUP() ON_WM_LBUTTONDBLCLK() END_MESSAGE_MAP() // CMyMFCButton 消息处理程序 //==================================== void CMyMFCButton::OnLButtonDown(UINT nFlags, CPoint point) { if ( point.x>0 ) { if (nFlags == MK_LBUTTON) { int iCtrlID; iCtrlID=GetDlgCtrlID(); switch (iCtrlID) { //====================================================================================== case IDC_MFCBUTTON_SO7_PROGRAM_X_LEFT: { if (m_pSO7_Proto->g_machine.x._Move_Speed_Gear==0) { long lMoveTOX=m_pSO7_Proto->g_machine.x._pos_fixed._long_; long lMoveTOY=m_pSO7_Proto->g_machine.y._pos_fixed._long_; long lMoveTOZ=m_pSO7_Proto->g_machine.z._pos_fixed._long_; m_pSO7_Proto->g_machine.x._pos_fixed._long_*=-1; m_pSO7_Proto->g_machine.y._pos_fixed._long_=0; m_pSO7_Proto->g_machine.z._pos_fixed._long_=0; m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); m_pSO7_Proto->g_machine.x._pos_fixed._long_=lMoveTOX; m_pSO7_Proto->g_machine.y._pos_fixed._long_=lMoveTOY; m_pSO7_Proto->g_machine.z._pos_fixed._long_=lMoveTOZ; } else { m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_X(-m_pSO7_Proto->g_machine.x._Move_Speed_Gear); } break; } case IDC_MFCBUTTON_SO7_PROGRAM_X_RIGHT: { if (m_pSO7_Proto->g_machine.x._Move_Speed_Gear==0) { long lMoveTOX=m_pSO7_Proto->g_machine.x._pos_fixed._long_; long lMoveTOY=m_pSO7_Proto->g_machine.y._pos_fixed._long_; long lMoveTOZ=m_pSO7_Proto->g_machine.z._pos_fixed._long_; m_pSO7_Proto->g_machine.y._pos_fixed._long_=0; m_pSO7_Proto->g_machine.z._pos_fixed._long_=0; m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); m_pSO7_Proto->g_machine.x._pos_fixed._long_=lMoveTOX; m_pSO7_Proto->g_machine.y._pos_fixed._long_=lMoveTOY; m_pSO7_Proto->g_machine.z._pos_fixed._long_=lMoveTOZ; } else { m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_X(m_pSO7_Proto->g_machine.x._Move_Speed_Gear); } break; } case IDC_MFCBUTTON_SO7_PROGRAM_Y_FRONTWARD: { if (m_pSO7_Proto->g_machine.y._Move_Speed_Gear==0) { long lMoveTOX=m_pSO7_Proto->g_machine.x._pos_fixed._long_; long lMoveTOY=m_pSO7_Proto->g_machine.y._pos_fixed._long_; long lMoveTOZ=m_pSO7_Proto->g_machine.z._pos_fixed._long_; m_pSO7_Proto->g_machine.x._pos_fixed._long_=0; m_pSO7_Proto->g_machine.z._pos_fixed._long_=0; m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); m_pSO7_Proto->g_machine.x._pos_fixed._long_=lMoveTOX; m_pSO7_Proto->g_machine.y._pos_fixed._long_=lMoveTOY; m_pSO7_Proto->g_machine.z._pos_fixed._long_=lMoveTOZ; } else { m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_Y(m_pSO7_Proto->g_machine.y._Move_Speed_Gear); } break; } case IDC_MFCBUTTON_SO7_PROGRAM_Y_BACKWARD: { if (m_pSO7_Proto->g_machine.y._Move_Speed_Gear==0) { long lMoveTOX=m_pSO7_Proto->g_machine.x._pos_fixed._long_; long lMoveTOY=m_pSO7_Proto->g_machine.y._pos_fixed._long_; long lMoveTOZ=m_pSO7_Proto->g_machine.z._pos_fixed._long_; m_pSO7_Proto->g_machine.y._pos_fixed._long_*=-1; m_pSO7_Proto->g_machine.x._pos_fixed._long_=0; m_pSO7_Proto->g_machine.z._pos_fixed._long_=0; m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); m_pSO7_Proto->g_machine.x._pos_fixed._long_=lMoveTOX; m_pSO7_Proto->g_machine.y._pos_fixed._long_=lMoveTOY; m_pSO7_Proto->g_machine.z._pos_fixed._long_=lMoveTOZ; } else { m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_Y(-m_pSO7_Proto->g_machine.y._Move_Speed_Gear); } break; } case IDC_MFCBUTTON_SO7_PROGRAM_Z_UP: { if (m_pSO7_Proto->g_machine.z._Move_Speed_Gear==0) { long lMoveTOX=m_pSO7_Proto->g_machine.x._pos_fixed._long_; long lMoveTOY=m_pSO7_Proto->g_machine.y._pos_fixed._long_; long lMoveTOZ=m_pSO7_Proto->g_machine.z._pos_fixed._long_; m_pSO7_Proto->g_machine.x._pos_fixed._long_=0; m_pSO7_Proto->g_machine.y._pos_fixed._long_=0; m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); m_pSO7_Proto->g_machine.x._pos_fixed._long_=lMoveTOX; m_pSO7_Proto->g_machine.y._pos_fixed._long_=lMoveTOY; m_pSO7_Proto->g_machine.z._pos_fixed._long_=lMoveTOZ; } else { m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_Z(m_pSO7_Proto->g_machine.z._Move_Speed_Gear); } break; } case IDC_MFCBUTTON_SO7_PROGRAM_Z_DOWN: { if (m_pSO7_Proto->g_machine.z._Move_Speed_Gear==0) { long lMoveTOX=m_pSO7_Proto->g_machine.x._pos_fixed._long_; long lMoveTOY=m_pSO7_Proto->g_machine.y._pos_fixed._long_; long lMoveTOZ=m_pSO7_Proto->g_machine.z._pos_fixed._long_; m_pSO7_Proto->g_machine.x._pos_fixed._long_=0; m_pSO7_Proto->g_machine.y._pos_fixed._long_=0; m_pSO7_Proto->g_machine.z._pos_fixed._long_*=-1; m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_XYZ(CT_MOVETOXYZ); m_pSO7_Proto->g_machine.x._pos_fixed._long_=lMoveTOX; m_pSO7_Proto->g_machine.y._pos_fixed._long_=lMoveTOY; m_pSO7_Proto->g_machine.z._pos_fixed._long_=lMoveTOZ; } else { m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_Z(-m_pSO7_Proto->g_machine.z._Move_Speed_Gear); } break; } default: break; } } } } //==================================== void CMyMFCButton::OnLButtonUp(UINT /*nFlags*/, CPoint/* point*/) { int iCtrlID; iCtrlID=GetDlgCtrlID(); switch (iCtrlID) { case IDC_MFCBUTTON_SO7_PROGRAM_X_LEFT: case IDC_MFCBUTTON_SO7_PROGRAM_X_RIGHT: case IDC_MFCBUTTON_SO7_PROGRAM_Y_FRONTWARD: case IDC_MFCBUTTON_SO7_PROGRAM_Y_BACKWARD: case IDC_MFCBUTTON_SO7_PROGRAM_Z_UP: case IDC_MFCBUTTON_SO7_PROGRAM_Z_DOWN: { if (m_pSO7_Proto->g_machine.x._Move_Speed_Gear==0) { ; } else { m_pSO7_Proto->_send_cmd_SO7_CMD_STOP_MOVE_XYZ(); } break; } default: break; } } void CMyMFCButton::OnLButtonDblClk(UINT nFlags, CPoint point) { OnLButtonUp(nFlags, point); }