📄 axisstate.cpp
字号:
// AxisState.cpp : implementation file
//
#include "stdafx.h"
#include "MoveControl.h"
#include "AxisState.h"
#include "ViewState.h"
#include "gtcardapi.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAxisState
#define NullReturn {if(!UpdateData(TRUE)||!pCNCObj||!(pCNCObj->IsCardInitialized())) return;}
IMPLEMENT_DYNCREATE(CAxisState, CFormView)
CAxisState::CAxisState()
: CFormView(CAxisState::IDD)
{
m_nIDStatic[0][0] = IDC_STATIC_AXIS00;
m_nIDStatic[0][1] = IDC_STATIC_AXIS01;
m_nIDStatic[0][2] = IDC_STATIC_AXIS02;
m_nIDStatic[1][0] = IDC_STATIC_AXIS10;
m_nIDStatic[1][1] = IDC_STATIC_AXIS11;
m_nIDStatic[1][2] = IDC_STATIC_AXIS12;
m_nIDStatic[2][0] = IDC_STATIC_AXIS20;
m_nIDStatic[2][1] = IDC_STATIC_AXIS21;
m_nIDStatic[2][2] = IDC_STATIC_AXIS22;
m_nIDStatic[3][0] = IDC_STATIC_AXIS30;
m_nIDStatic[3][1] = IDC_STATIC_AXIS31;
m_nIDStatic[3][2] = IDC_STATIC_AXIS32;
m_nIDStatic[4][0] = IDC_STATIC_AXIS40;
m_nIDStatic[4][1] = IDC_STATIC_AXIS41;
m_nIDStatic[4][2] = IDC_STATIC_AXIS42;
m_nIDStatic[5][0] = IDC_STATIC_AXIS50;
m_nIDStatic[5][1] = IDC_STATIC_AXIS51;
m_nIDStatic[5][2] = IDC_STATIC_AXIS52;
m_nIDStatic[6][0] = IDC_STATIC_AXIS60;
m_nIDStatic[6][1] = IDC_STATIC_AXIS61;
m_nIDStatic[6][2] = IDC_STATIC_AXIS62;
m_nIDStatic[7][0] = IDC_STATIC_AXIS00;
m_nIDStatic[7][1] = IDC_STATIC_AXIS01;
m_nIDStatic[7][2] = IDC_STATIC_AXIS02;
m_nIDStatic[8][0] = IDC_STATIC_AXIS80;
m_nIDStatic[8][1] = IDC_STATIC_AXIS81;
m_nIDStatic[8][2] = IDC_STATIC_AXIS82;
m_nIDStatic[9][0] = IDC_STATIC_AXIS90;
m_nIDStatic[9][1] = IDC_STATIC_AXIS91;
m_nIDStatic[9][2] = IDC_STATIC_AXIS92;
m_nIDStatic[10][0] = IDC_STATIC_AXIS100;
m_nIDStatic[10][1] = IDC_STATIC_AXIS101;
m_nIDStatic[10][2] = IDC_STATIC_AXIS102;
m_nIDStatic[11][0] = IDC_STATIC_AXIS110;
m_nIDStatic[11][1] = IDC_STATIC_AXIS111;
m_nIDStatic[11][2] = IDC_STATIC_AXIS112;
m_nIDStatic[12][0] = IDC_STATIC_AXIS120;
m_nIDStatic[12][1] = IDC_STATIC_AXIS121;
m_nIDStatic[12][2] = IDC_STATIC_AXIS122;
m_nIDStatic[13][0] = IDC_STATIC_AXIS130;
m_nIDStatic[13][1] = IDC_STATIC_AXIS131;
m_nIDStatic[13][2] = IDC_STATIC_AXIS132;
m_nIDStatic[14][0] = IDC_STATIC_AXIS140;
m_nIDStatic[14][1] = IDC_STATIC_AXIS141;
m_nIDStatic[14][2] = IDC_STATIC_AXIS142;
m_nIDStatic[15][0] = IDC_STATIC_AXIS150;
m_nIDStatic[15][1] = IDC_STATIC_AXIS151;
m_nIDStatic[15][2] = IDC_STATIC_AXIS152;
m_nIDStatic[16][0] = IDC_STATIC_AXIS160;
m_nIDStatic[16][1] = IDC_STATIC_AXIS161;
m_nIDStatic[16][2] = IDC_STATIC_AXIS162;
m_nIDStatic[17][0] = IDC_STATIC_AXIS170;
m_nIDStatic[17][1] = IDC_STATIC_AXIS171;
m_nIDStatic[17][2] = IDC_STATIC_AXIS172;
m_nIDStatic[18][0] = IDC_STATIC_AXIS180;
m_nIDStatic[18][1] = IDC_STATIC_AXIS181;
m_nIDStatic[18][2] = IDC_STATIC_AXIS182;
//{{AFX_DATA_INIT(CAxisState)
//}}AFX_DATA_INIT
}
CAxisState::~CAxisState()
{
}
void CAxisState::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAxisState)
DDX_Control(pDX, IDC_STATIC_AXIS00, m_axisStateIcon00);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAxisState, CFormView)
//{{AFX_MSG_MAP(CAxisState)
ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)
ON_BN_CLICKED(IDC_STATIC_MOVE1, OnStaticMove1)
ON_EN_CHANGE(IDC_EDIT_XPOS, OnChangeEditXpos)
ON_EN_CHANGE(IDC_EDIT_YPOS, OnChangeEditYpos)
ON_EN_CHANGE(IDC_EDIT_ZPOS, OnChangeEditZpos)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAxisState diagnostics
#ifdef _DEBUG
void CAxisState::AssertValid() const
{
CFormView::AssertValid();
}
void CAxisState::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
BOOL CAxisState::Create(LPCTSTR lpszClassName,
LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd, UINT nID,
CCreateContext* pContext)
{
return CFormView::Create(lpszClassName,lpszWindowName,dwStyle,rect,pParentWnd,nID,pContext);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CAxisState message handlers
void CAxisState::OnChangeEdit1()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CFormView::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
void CAxisState::OnStaticMove1()
{
// TODO: Add your control notification handler code here
}
void CAxisState::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
}
CViewState* CAxisState::GetViewState()
{
return (CViewState*)(GetParent()->GetParent());
}
void CAxisState::UpdateIcon(int nAxis)
{
NullReturn;
int i,j;
long *pPos = new long;
ASSERT( pPos );
unsigned short nAxisState,nMode;
CViewState* pView = GetViewState();
if( !pView )
return;
HBITMAP hBmp = pView->m_iconRed;
if( !hBmp )
return;
CStatic *pAxisStateIcon[19][3];
for( i=0;i<19;i++)
for(j=0;j<3;j++)
pAxisStateIcon[i][j] = NULL;
CStatic *pStatic;
for( i=0;i<19; i++)
for(j=0;j<3;j++)
{
pStatic = (CStatic *) GetDlgItem(m_nIDStatic[i][j]);
ASSERT(pStatic);
if( pStatic )
pAxisStateIcon[i][j] = pStatic;
}
int nRet = ((Gt_Card_Api *)pCNCObj)->get_cur_axis_state(nAxis, &nAxisState);
if(!nRet&&(nAxisState&0x4000))
{
hBmp = pView->m_iconRed;
ASSERT(pAxisStateIcon[17][nAxis]);
pAxisStateIcon[17][nAxis]->SetBitmap(hBmp);
}
else
{
hBmp = pView->m_iconGreen;
ASSERT(pAxisStateIcon[17][nAxis]);
pAxisStateIcon[17][nAxis]->SetBitmap(hBmp);
}
if(!nRet&&(nAxisState&0x8000))
{
hBmp = pView->m_iconRed;
ASSERT(pAxisStateIcon[18][nAxis]);
pAxisStateIcon[18][nAxis]->SetBitmap(hBmp);
}
else
{
hBmp = pView->m_iconGreen;
ASSERT(pAxisStateIcon[18][nAxis]);
pAxisStateIcon[18][nAxis]->SetBitmap(hBmp);
}
for(i=0;i<12&&!nRet;i++)
{
if((nAxisState)&0x01)
{
hBmp = pView->m_iconRed;
ASSERT(pAxisStateIcon[i][nAxis]);
pAxisStateIcon[i][nAxis]->SetBitmap(hBmp);
}
else
{
hBmp = pView->m_iconGreen;
ASSERT(pAxisStateIcon[i][nAxis]);
pAxisStateIcon[i][nAxis]->SetBitmap(hBmp);
}
nAxisState >>= 1;
}
nRet = pCNCObj->GetAxisMode(nAxis,&nMode);
for(i=12;i<=16&&!nRet;i++)
{
if((nMode)&0x800)
{
hBmp = pView->m_iconRed;
ASSERT(pAxisStateIcon[i][nAxis]);
pAxisStateIcon[i][nAxis]->SetBitmap(hBmp);
}
else
{
hBmp = pView->m_iconGreen;
ASSERT(pAxisStateIcon[i][nAxis]);
pAxisStateIcon[i][nAxis]->SetBitmap(hBmp);
}
nMode >>= 1;
}
((Gt_Card_Api *)pCNCObj)->get_axis_pos(1, pPos);
SetDlgItemInt(IDC_EDIT_XPOS,*pPos,TRUE);
((Gt_Card_Api *)pCNCObj)->get_axis_pos(2, pPos);
SetDlgItemInt(IDC_EDIT_YPOS,*pPos,TRUE);
((Gt_Card_Api *)pCNCObj)->get_axis_pos(3, pPos);
SetDlgItemInt(IDC_EDIT_ZPOS,*pPos,TRUE);
SAFEDELETEPOINTOR(pPos);
}
void CAxisState::OnChangeEditXpos()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CFormView::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
void CAxisState::OnChangeEditYpos()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CFormView::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
void CAxisState::OnChangeEditZpos()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CFormView::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -