manuio.cpp

来自「机械手IPC控制器伺服运动程序」· C++ 代码 · 共 810 行 · 第 1/2 页

CPP
810
字号
// ManuIO.cpp : implementation file
//

#include "stdafx.h"
#include "alfa.h"
#include "ManuIO.h"
#include "Main.h"
#include "mccl.h"
#include "sys.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define TimerID 18
/////////////////////////////////////////////////////////////////////////////
// CManuIO dialog


CManuIO::CManuIO(CWnd* pParent /*=NULL*/)
	: CDialog(CManuIO::IDD, pParent)
{
	//{{AFX_DATA_INIT(CManuIO)
	//}}AFX_DATA_INIT
}


void CManuIO::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CManuIO)
	DDX_Control(pDX, IDC_X64, m_x64);
	DDX_Control(pDX, IDC_X63, m_x63);
	DDX_Control(pDX, IDC_X62, m_x62);
	DDX_Control(pDX, IDC_X61, m_x61);
	DDX_Control(pDX, IDC_X60, m_x60);
	DDX_Control(pDX, IDC_X59, m_x59);
	DDX_Control(pDX, IDC_X58, m_x58);
	DDX_Control(pDX, IDC_X57, m_x57);
	DDX_Control(pDX, IDC_X56, m_x56);
	DDX_Control(pDX, IDC_X55, m_x55);
	DDX_Control(pDX, IDC_X54, m_x54);
	DDX_Control(pDX, IDC_X53, m_x53);
	DDX_Control(pDX, IDC_X52, m_x52);
	DDX_Control(pDX, IDC_X51, m_x51);
	DDX_Control(pDX, IDC_X50, m_x50);
	DDX_Control(pDX, IDC_X49, m_x49);
	DDX_Control(pDX, IDC_X48, m_x48);
	DDX_Control(pDX, IDC_X47, m_x47);
	DDX_Control(pDX, IDC_X46, m_x46);
	DDX_Control(pDX, IDC_X45, m_x45);
	DDX_Control(pDX, IDC_X44, m_x44);
	DDX_Control(pDX, IDC_X43, m_x43);
	DDX_Control(pDX, IDC_X42, m_x42);
	DDX_Control(pDX, IDC_X41, m_x41);
	DDX_Control(pDX, IDC_X40, m_x40);
	DDX_Control(pDX, IDC_X39, m_x39);
	DDX_Control(pDX, IDC_X38, m_x38);
	DDX_Control(pDX, IDC_X37, m_x37);
	DDX_Control(pDX, IDC_X36, m_x36);
	DDX_Control(pDX, IDC_X35, m_x35);
	DDX_Control(pDX, IDC_X34, m_x34);
	DDX_Control(pDX, IDC_X33, m_x33);
	DDX_Control(pDX, IDC_X32, m_x32);
	DDX_Control(pDX, IDC_X31, m_x31);
	DDX_Control(pDX, IDC_X30, m_x30);
	DDX_Control(pDX, IDC_X29, m_x29);
	DDX_Control(pDX, IDC_X28, m_x28);
	DDX_Control(pDX, IDC_X27, m_x27);
	DDX_Control(pDX, IDC_X26, m_x26);
	DDX_Control(pDX, IDC_X25, m_x25);
	DDX_Control(pDX, IDC_X24, m_x24);
	DDX_Control(pDX, IDC_X23, m_x23);
	DDX_Control(pDX, IDC_X22, m_x22);
	DDX_Control(pDX, IDC_X21, m_x21);
	DDX_Control(pDX, IDC_X20, m_x20);
	DDX_Control(pDX, IDC_X19, m_x19);
	DDX_Control(pDX, IDC_X18, m_x18);
	DDX_Control(pDX, IDC_X17, m_x17);
	DDX_Control(pDX, IDC_X16, m_x16);
	DDX_Control(pDX, IDC_X15, m_x15);
	DDX_Control(pDX, IDC_X14, m_x14);
	DDX_Control(pDX, IDC_X13, m_x13);
	DDX_Control(pDX, IDC_X12, m_x12);
	DDX_Control(pDX, IDC_X11, m_x11);
	DDX_Control(pDX, IDC_X10, m_x10);
	DDX_Control(pDX, IDC_X09, m_x09);
	DDX_Control(pDX, IDC_X08, m_x08);
	DDX_Control(pDX, IDC_X07, m_x07);
	DDX_Control(pDX, IDC_X06, m_x06);
	DDX_Control(pDX, IDC_X05, m_x05);
	DDX_Control(pDX, IDC_X04, m_x04);
	DDX_Control(pDX, IDC_X03, m_x03);
	DDX_Control(pDX, IDC_X02, m_x02);
	DDX_Control(pDX, IDC_X01, m_x01);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CManuIO, CDialog)
	//{{AFX_MSG_MAP(CManuIO)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_WM_SHOWWINDOW()
	ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CManuIO message handlers

void CManuIO::OnButton1() 
{
	// TODO: Add your control notification handler code here
	CMain * main=(CMain *)GetParent();
	ShowWindow(FALSE);
	main->dlgmanul->ShowWindow(TRUE);
	KillTimer(TimerID);
}

void CManuIO::OnShowWindow(BOOL bShow, UINT nStatus) 
{
	CDialog::OnShowWindow(bShow, nStatus);
	
	// TODO: Add your message handler code here
	if(bShow==1) {
		CMain * main=(CMain *)GetParent();
		main->dlgcur=this;
		SetTimer(TimerID, 200, NULL);
	}
	else
		KillTimer(18);
}

BOOL CManuIO::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	h_SkinDialog.SubClassDialog(m_hWnd);
	CRect rt;
	m_x01.GetWindowRect(rt);
	led[0].x=rt.left;
	led[0].y=rt.top;
	m_x02.GetWindowRect(rt);
	led[1].x=rt.left;
	led[1].y=rt.top;
	m_x03.GetWindowRect(rt);
	led[2].x=rt.left;
	led[2].y=rt.top;
	m_x04.GetWindowRect(rt);
	led[3].x=rt.left;
	led[3].y=rt.top;
	m_x05.GetWindowRect(rt);
	led[4].x=rt.left;
	led[4].y=rt.top;
	m_x06.GetWindowRect(rt);
	led[5].x=rt.left;
	led[5].y=rt.top;
	m_x07.GetWindowRect(rt);
	led[6].x=rt.left;
	led[6].y=rt.top;
	m_x08.GetWindowRect(rt);
	led[7].x=rt.left;
	led[7].y=rt.top;
	m_x09.GetWindowRect(rt);
	led[8].x=rt.left;
	led[8].y=rt.top;
	m_x10.GetWindowRect(rt);
	led[9].x=rt.left;
	led[9].y=rt.top;
	m_x11.GetWindowRect(rt);
	led[10].x=rt.left;
	led[10].y=rt.top;
	m_x12.GetWindowRect(rt);
	led[11].x=rt.left;
	led[11].y=rt.top;
	m_x13.GetWindowRect(rt);
	led[12].x=rt.left;
	led[12].y=rt.top;
	m_x14.GetWindowRect(rt);
	led[13].x=rt.left;
	led[13].y=rt.top;
	m_x15.GetWindowRect(rt);
	led[14].x=rt.left;
	led[14].y=rt.top;
	m_x16.GetWindowRect(rt);
	led[15].x=rt.left;
	led[15].y=rt.top;
	m_x17.GetWindowRect(rt);
	led[16].x=rt.left;
	led[16].y=rt.top;
	m_x18.GetWindowRect(rt);
	led[17].x=rt.left;
	led[17].y=rt.top;
	m_x19.GetWindowRect(rt);
	led[18].x=rt.left;
	led[18].y=rt.top;
	m_x20.GetWindowRect(rt);
	led[19].x=rt.left;
	led[19].y=rt.top;
	m_x21.GetWindowRect(rt);
	led[20].x=rt.left;
	led[20].y=rt.top;
	m_x22.GetWindowRect(rt);
	led[21].x=rt.left;
	led[21].y=rt.top;
	m_x23.GetWindowRect(rt);
	led[22].x=rt.left;
	led[22].y=rt.top;
	m_x24.GetWindowRect(rt);
	led[23].x=rt.left;
	led[23].y=rt.top;
	m_x25.GetWindowRect(rt);
	led[24].x=rt.left;
	led[24].y=rt.top;
	m_x26.GetWindowRect(rt);
	led[25].x=rt.left;
	led[25].y=rt.top;
	m_x27.GetWindowRect(rt);
	led[26].x=rt.left;
	led[26].y=rt.top;
	m_x28.GetWindowRect(rt);
	led[27].x=rt.left;
	led[27].y=rt.top;
	m_x29.GetWindowRect(rt);
	led[28].x=rt.left;
	led[28].y=rt.top;
	m_x30.GetWindowRect(rt);
	led[29].x=rt.left;
	led[29].y=rt.top;
	m_x31.GetWindowRect(rt);
	led[30].x=rt.left;
	led[30].y=rt.top;
	m_x32.GetWindowRect(rt);
	led[31].x=rt.left;
	led[31].y=rt.top;
	m_x33.GetWindowRect(rt);
	led[32].x=rt.left;
	led[32].y=rt.top;
	m_x34.GetWindowRect(rt);
	led[33].x=rt.left;
	led[33].y=rt.top;
	m_x35.GetWindowRect(rt);
	led[34].x=rt.left;
	led[34].y=rt.top;
	m_x36.GetWindowRect(rt);
	led[35].x=rt.left;
	led[35].y=rt.top;
	m_x37.GetWindowRect(rt);
	led[36].x=rt.left;
	led[36].y=rt.top;
	m_x38.GetWindowRect(rt);
	led[37].x=rt.left;
	led[37].y=rt.top;
	m_x39.GetWindowRect(rt);
	led[38].x=rt.left;
	led[38].y=rt.top;
	m_x40.GetWindowRect(rt);
	led[39].x=rt.left;
	led[39].y=rt.top;
	m_x41.GetWindowRect(rt);
	led[40].x=rt.left;
	led[40].y=rt.top;
	m_x41.GetWindowRect(rt);
	led[40].x=rt.left;
	led[40].y=rt.top;
	m_x42.GetWindowRect(rt);
	led[41].x=rt.left;
	led[41].y=rt.top;
	m_x43.GetWindowRect(rt);
	led[42].x=rt.left;
	led[42].y=rt.top;
	m_x44.GetWindowRect(rt);
	led[43].x=rt.left;
	led[43].y=rt.top;
	m_x45.GetWindowRect(rt);
	led[44].x=rt.left;
	led[44].y=rt.top;
	m_x46.GetWindowRect(rt);
	led[45].x=rt.left;
	led[45].y=rt.top;
	m_x47.GetWindowRect(rt);
	led[46].x=rt.left;
	led[46].y=rt.top;
	m_x48.GetWindowRect(rt);
	led[47].x=rt.left;
	led[47].y=rt.top;
	m_x49.GetWindowRect(rt);
	led[48].x=rt.left;
	led[48].y=rt.top;
	m_x50.GetWindowRect(rt);
	led[49].x=rt.left;
	led[49].y=rt.top;
	m_x51.GetWindowRect(rt);
	led[50].x=rt.left;
	led[50].y=rt.top;
	m_x52.GetWindowRect(rt);
	led[51].x=rt.left;
	led[51].y=rt.top;
	m_x53.GetWindowRect(rt);
	led[52].x=rt.left;
	led[52].y=rt.top;
	m_x54.GetWindowRect(rt);
	led[53].x=rt.left;
	led[53].y=rt.top;
	m_x55.GetWindowRect(rt);
	led[54].x=rt.left;
	led[54].y=rt.top;
	m_x56.GetWindowRect(rt);
	led[55].x=rt.left;
	led[55].y=rt.top;
	m_x57.GetWindowRect(rt);
	led[56].x=rt.left;
	led[56].y=rt.top;
	m_x58.GetWindowRect(rt);
	led[57].x=rt.left;
	led[57].y=rt.top;
	m_x59.GetWindowRect(rt);
	led[58].x=rt.left;
	led[58].y=rt.top;
	m_x60.GetWindowRect(rt);
	led[59].x=rt.left;
	led[59].y=rt.top;
	m_x61.GetWindowRect(rt);
	led[60].x=rt.left;
	led[60].y=rt.top;
	m_x62.GetWindowRect(rt);
	led[61].x=rt.left;
	led[61].y=rt.top;
	m_x63.GetWindowRect(rt);
	led[62].x=rt.left;
	led[62].y=rt.top;
	m_x64.GetWindowRect(rt);
	led[63].x=rt.left;
	led[63].y=rt.top;
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CManuIO::OnButton2() 
{
	// TODO: Add your control notification handler code here
	CMain * main=(CMain *)GetParent();
	ShowWindow(FALSE);
	main->dlgmanualioo->ShowWindow(TRUE);	
}

void CManuIO::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	UpdateData(FALSE);	
	WORD	wInput0;
	WORD	wInput;
	MCC_GetRIOInputValue(&wInput0, RIO_SET1, RIO_PORT0, CARD_INDEX);//  get   remote I/O set 0's DI0  ~ DI15 statuses
	wInput=wInput0;
	CClientDC dc(this);
	if(wInput0==(wInput|0x0001))
	{
		ShowTransparentBitmap(&dc,IDB_BITMAP7,led[0].x,led[0].y);
	}
	else
		ShowTransparentBitmap(&dc,IDB_BITMAP8,led[0].x,led[0].y);
	wInput=wInput0;
	if(wInput0==(wInput|0x0002))
	{
		ShowTransparentBitmap(&dc,IDB_BITMAP7,led[1].x,led[1].y);
	}
	else
		ShowTransparentBitmap(&dc,IDB_BITMAP8,led[1].x,led[1].y);
	wInput=wInput0;
	if(wInput0==(wInput|0x0004))
	{
		ShowTransparentBitmap(&dc,IDB_BITMAP7,led[2].x,led[2].y);
	}
	else
		ShowTransparentBitmap(&dc,IDB_BITMAP8,led[2].x,led[2].y);
	wInput=wInput0;
	if(wInput0==(wInput|0x0008))
	{
		ShowTransparentBitmap(&dc,IDB_BITMAP7,led[3].x,led[3].y);
	}
	else
		ShowTransparentBitmap(&dc,IDB_BITMAP8,led[3].x,led[3].y);
	wInput=wInput0;
	if(wInput0==(wInput|0x0010))
	{
		ShowTransparentBitmap(&dc,IDB_BITMAP7,led[4].x,led[4].y);
	}
	else
		ShowTransparentBitmap(&dc,IDB_BITMAP8,led[4].x,led[4].y);
	wInput=wInput0;
	if(wInput0==(wInput|0x0020))
	{
		ShowTransparentBitmap(&dc,IDB_BITMAP7,led[5].x,led[5].y);
	}
	else
		ShowTransparentBitmap(&dc,IDB_BITMAP8,led[5].x,led[5].y);
	wInput=wInput0;
	if(wInput0==(wInput|0x0040))
	{
		ShowTransparentBitmap(&dc,IDB_BITMAP7,led[6].x,led[6].y);
	}
	else
		ShowTransparentBitmap(&dc,IDB_BITMAP8,led[6].x,led[6].y);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?