📄 cordinate.cpp
字号:
// Cordinate.cpp : implementation file
//
#include "stdafx.h"
#include "movecontrol.h"
#include "Cordinate.h"
#include "ViewState.h"
#include "gtcardapi.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCordinate
#define NullReturn {if(!UpdateData(TRUE)||!pCNCObj||!(pCNCObj->IsCardInitialized())) return;}
IMPLEMENT_DYNCREATE(CCordinate, CFormView)
CCordinate::CCordinate()
: CFormView(CCordinate::IDD)
{
//{{AFX_DATA_INIT(CCordinate)
m_nIDStatic[0]=IDC_STATIC_COR1;
m_nIDStatic[1]=IDC_STATIC_COR2;
m_nIDStatic[2]=IDC_STATIC_COR3;
m_nIDStatic[3]=IDC_STATIC_COR4;
m_nIDStatic[4]=IDC_STATIC_COR5;
m_nIDStatic[5]=IDC_STATIC_COR6;
m_nIDStatic[6]=IDC_STATIC_COR7;
m_nIDStatic[7]=IDC_STATIC_COR8;
m_nIDStatic[8]=IDC_STATIC_COR9;
m_nIDStatic[9]=IDC_STATIC_COR10;
m_nIDStatic[10]=IDC_STATIC_COR11;
//}}AFX_DATA_INIT
}
CCordinate::~CCordinate()
{
}
void CCordinate::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCordinate)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCordinate, CFormView)
//{{AFX_MSG_MAP(CCordinate)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCordinate diagnostics
#ifdef _DEBUG
void CCordinate::AssertValid() const
{
CFormView::AssertValid();
}
void CCordinate::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
BOOL CCordinate::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);
}
CViewState* CCordinate::GetViewState()
{
return (CViewState*)(GetParent()->GetParent());
}
/////////////////////////////////////////////////////////////////////////////
// CCordinate message handlers
void CCordinate::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
}
void CCordinate::UpDateCordinateState()
{
NullReturn;
int i;
long *pPos = new long;
ASSERT( pPos );
unsigned short nCordinateState,nMode;
int nRet,nValue[3];
CViewState * pView = GetViewState();
if( !pView )
return;
HBITMAP hBmp = pView->m_iconRed;
if( !hBmp )
return;
CStatic *m_pCorStateIcon[11];
for( i=0;i<11;i++)
m_pCorStateIcon[i] = NULL;
CStatic *pStatic;
for( i=0;i<11; i++)
{
pStatic = (CStatic *) GetDlgItem(m_nIDStatic[i]);
ASSERT(pStatic);
if( pStatic )
m_pCorStateIcon[i] = pStatic;
}
for(i=0;i<3;i++)
{
nRet=pCNCObj->GetAxisMode(i+1,&nMode);
nValue[i]=((nMode)&0x2000);
}
if (!nValue[0]&&!nValue[1]&&!nValue[2])
{
hBmp = pView->m_iconRed;
ASSERT(m_pCorStateIcon[8]);
m_pCorStateIcon[8]->SetBitmap(hBmp);
}
else
{
hBmp = pView->m_iconGreen;
ASSERT(m_pCorStateIcon[8]);
m_pCorStateIcon[8]->SetBitmap(hBmp);
}
nRet = pCNCObj->get_cur_cordinate_state(&nCordinateState);
if(!nRet&&((nCordinateState)&0x200))
{
hBmp = pView->m_iconRed;
ASSERT(m_pCorStateIcon[9]);
m_pCorStateIcon[9]->SetBitmap(hBmp);
}
else
{
hBmp = pView->m_iconGreen;
ASSERT(m_pCorStateIcon[9]);
m_pCorStateIcon[9]->SetBitmap(hBmp);
}
if(!nRet&&((nCordinateState)&0x400))
{
hBmp = pView->m_iconRed;
ASSERT(m_pCorStateIcon[10]);
m_pCorStateIcon[10]->SetBitmap(hBmp);
}
else
{
hBmp = pView->m_iconGreen;
ASSERT(m_pCorStateIcon[10]);
m_pCorStateIcon[10]->SetBitmap(hBmp);
}
for(i=0;i<8&&!nRet;i++)
{
if((nCordinateState)&0x01)
{
hBmp = pView->m_iconRed;
ASSERT(m_pCorStateIcon[i]);
m_pCorStateIcon[i]->SetBitmap(hBmp);
}
else
{
hBmp = pView->m_iconGreen;
ASSERT(m_pCorStateIcon[i]);
m_pCorStateIcon[i]->SetBitmap(hBmp);
}
nCordinateState >>= 1;
}
pCNCObj->get_axis_pos(1, pPos);
SetDlgItemInt(IDC_EDIT1_POSX,*pPos,TRUE);
pCNCObj->get_axis_pos(2, pPos);
SetDlgItemInt(IDC_EDIT2_POSY,*pPos,TRUE);
pCNCObj->get_axis_pos(3, pPos);
SetDlgItemInt(IDC_EDIT3_POSZ,*pPos,TRUE);
SAFEDELETEPOINTOR(pPos);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -