⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 robotview.cpp

📁 《Visual C++视频/音频开发实用工程案例精选》一书的源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	case 3:
	mBit.LoadBitmap(IDB_BMP13);
	break;
	case 4:
	mBit.LoadBitmap(IDB_BMP14);
	break;
	case 5:
	mBit.LoadBitmap(IDB_BMP15);
	break;
	default:
		//mBit.LoadBitmap(IDB_BMP0);
		MessageBox("error");
	}
	CBitmap *pOldBit=MemDC.SelectObject(&mBit);
	pControlDC->BitBlt(0,0,900,700,&MemDC,0,0,SRCCOPY);
	MemDC.SelectObject(pOldBit);
}
void CRobotView::GzqDisplay(int n)
{
	CWnd* pWnd=GetDlgItem(IDC_STATIC_GONGZUOQU);
	CDC* pControlDC=pWnd->GetDC();
	pWnd->Invalidate();
	pWnd->UpdateWindow();
	pControlDC->SelectStockObject(BLACK_BRUSH);
	CBitmap mBit;
	CDC MemDC;
	MemDC.CreateCompatibleDC(NULL);
	switch(n)
	{
	case 0:
	mBit.LoadBitmap(IDB_BMP10);
	break;
	case 1:
	mBit.LoadBitmap(IDB_BMP11);
	break;
	case 2:
	mBit.LoadBitmap(IDB_BMP12);
	break;
	case 3:
	mBit.LoadBitmap(IDB_BMP13);
	break;
	case 4:
	mBit.LoadBitmap(IDB_BMP14);
	break;
	case 5:
	mBit.LoadBitmap(IDB_BMP15);
	break;
	case 6:
	mBit.LoadBitmap(IDB_BMP16);
	break;
	case 7:
	mBit.LoadBitmap(IDB_BMP17);
	break;
	default:
		//mBit.LoadBitmap(IDB_BMP0);
		MessageBox("error");
	}
	CBitmap *pOldBit=MemDC.SelectObject(&mBit);
	pControlDC->BitBlt(0,0,900,700,&MemDC,0,0,SRCCOPY);
	MemDC.SelectObject(pOldBit);
}
void CRobotView::Execute(int n)
{
	CRobotDoc* pDoc=GetDocument();

	unsigned char send1;

	switch(n)
	{
	case(11):
		home();
		break;
	case(12):
		{//大臂正传
		unsigned char send[6]={0x53,0x01,0x00,0x00,0x07,0x18};
	for(int i=0;i<=5;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000/m_nsudu);
	break;
			}
	case(13):
		{
	unsigned char send[6]={0x53,0x01,0xff,0x00,0x07,0x18};
	for(int i=0;i<=5;i++)
	pDoc->WriteComm(&send[i],1);
//	pDoc->ReadComm(&buf,1);
//	if(nLength)
////	{
//		str.Format("%d",buf);
//		m_edit1.SetSel(-1, 0);
//		m_edit1.ReplaceSel(str); // 向编辑视图中插入收到的字符
//	}
//	else
//	MessageBox("fjdklfjsdklgjsdfkl");
	Sleep(2000/m_nsudu);
	break;
		}
	case(14)://xiaobizhengzhuan
		{
		unsigned char send[6]={0x53,0x02,0x00,0x00,0x0f,0xe3};
	for(int i=0;i<=5;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000/m_nsudu);
			break;
		}
	
	case(15)://小臂反转
		{
		unsigned char send[6]={0x53,0x02,0xff,0x00,0x0f,0xe3};
	for(int i=0;i<=5;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000/m_nsudu);
	break;	
		}	
	case(16)://手腕正转
			{
		unsigned char send[6]={0x53,0x04,0x00,0x00,0x00,0xff};
	for(int i=0;i<=5;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(1000/m_nsudu);
	break;
			}
	case(17)://shouwanfanzhuan
		{
		unsigned char send[6]={0x53,0x04,0xff,0x00,0x00,0xff};
	for(int i=0;i<=5;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(1000/m_nsudu);
		}
		break;
	case(18)://shouzhuazhangkai
			{
		unsigned char send[6]={0x53,0x05,0x00,0x00,0x00,0x43};
	for(int i=0;i<=5;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000/m_nsudu);
		}
		break;
	case(19):
		{
		unsigned char send[6]={0x53,0x05,0xff,0x00,0x00,0xf3};
	for(int i=0;i<=5;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000/m_nsudu);
		}
		break;
	case(20)://shangsheng
			{
		unsigned char send[6]={0x53,0x03,0x00,0x00,0x02,0xe3};
	for(int i=0;i<=5;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(1000/m_nsudu);
		}
		break;
	case(21):
		{
		unsigned char send[6]={0x53,0x03,0xff,0x00,0x02,0xe3};
	for(int i=0;i<=5;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(1000/m_nsudu);
		}
		break;
/*	case(22)://dabiyunxing
		{
		unsigned char send[3]={0x63,0x01,0x00};
	for(int i=0;i<=2;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000);
		}
		break;
	case(23):
			{
		unsigned char send[3]={0x63,0x01,0xff};
	for(int i=0;i<=2;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000);
		}
		break;
	case(24)://xiaobiyunxing
		{
		unsigned char send[3]={0x63,0x02,0x00};
	for(int i=0;i<=2;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000);
		}
		break;
	case(25):
		{
		unsigned char send[3]={0x63,0x02,0xff};
	for(int i=0;i<=2;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000);
		}
		break;
	case(26)://shouwanyunxing
		{
		unsigned char send[3]={0x63,0x04,0x00};
	for(int i=0;i<=2;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000);
		}
		break;
	case(27):
		{
		unsigned char send[3]={0x63,0x04,0xff};
	for(int i=0;i<=2;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000);
		}
		break;
	case(28)://shouzhuayunxing
		{
		unsigned char send[3]={0x63,0x05,0x00};
	for(int i=0;i<=2;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000);
		}
		break;
	case(29):
			{
		unsigned char send[3]={0x63,0x05,0xff};
	for(int i=0;i<=2;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000);
		}
		break;
	case(30)://shengjiangyunxing
			{
		unsigned char send[3]={0x63,0x03,0x00};
	for(int i=0;i<=2;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000);
		}
		break;
	case(31):
			{
		unsigned char send[3]={0x63,0x05,0xff};
	for(int i=0;i<=2;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(2000);
		}
		break;
*/
	case(32)://dabiguiling
			{
		unsigned char send[2]={0xa3,0x01};
	for(int i=0;i<=1;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(18000);
		}
		break;
	case(33)://xiaobiguiling
			{
		unsigned char send[2]={0xa3,0x02};
	for(int i=0;i<=1;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(15000);
		}
		break;
	case(34)://shouwanguiling
			{
		unsigned char send[2]={0xa3,0x04};
	for(int i=0;i<=1;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(6000);
		}
		break;
	case(35)://shouzhuaguiling
			{
		unsigned char send[2]={0xa3,0x05};
	for(int i=0;i<=1;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(6000);
		}
		break;
	case(36)://shengjiangguiling
			{
		unsigned char send[2]={0xa3,0x03};
	for(int i=0;i<=1;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(10000);
		}
		break;
	case(37)://sudujia
		{	
		send1=0xb3;
		pDoc->WriteComm(&send1,1);
		}
			Sleep(1000);
		break;
	case(38)://yuandianjiyi
		send1=0x73;
		pDoc->WriteComm(&send1,1);
		break;
	case(39):
		send1=0xc3;
		pDoc->WriteComm(&send1,1);
		break;
	case(40):
		send1=0xf6;
		pDoc->WriteComm(&send1,1);
		break;
	case(41):
		send1=0x83;
		pDoc->WriteComm(&send1,1);
		break;
	case(42):
		send1=0x93;
		pDoc->WriteComm(&send1,1);
		break;
	case(43):
	//	{
	//	unsigned char send[2]={0x86,0x03};
	//	for(int i=0;i<=1;i++)
	//	pDoc->WriteComm(&send[i],1);
	//	Sleep(4000);
	//	}
		send1=0x86;
		pDoc->WriteComm(&send1,1);
		break;
	case(44)://sudujian
		{
		send1=0xe3;
		pDoc->WriteComm(&send1,1);
		}
		break;
	case(45):
		{
		send1=0x12;
		pDoc->WriteComm(&send1,1);
		}
		break;
	case(46):
		{
		send1=0x22;
		pDoc->WriteComm(&send1,1);
		}
		break;
	case(47):		//danbuzaixian
		send1=0x13;
		pDoc->WriteComm(&send1,1);
		Sleep(4000);
		break;
	case(48):		//zhouqizaixian
		send1=0x23;
		pDoc->WriteComm(&send1,1);
		Sleep(8000);
		break;
	case(49):		//lianxuzaixian
		send1=0x33;
		pDoc->WriteComm(&send1,1);
		break;
	case(50):
		//send1=0x32;
		//pDoc->WriteComm(&send1,1);
		break;
	case(51):
		break;
	case(52):
		send1=0x43;
		pDoc->WriteComm(&send1,1);
		break;
	case(53):
		break;
	case(54):
		pDoc->OnSetupcomm();
		break;
	case(55):
		pDoc->OnOpencomm();
		break;
	default:
		pDoc->OnClosecomm();
		break;
	}

}
//void CRobotView::OnButton3() 
//{
	// TODO: Add your control notification handler code here
//	SendMessage(WM_USER + 1002,10,0);
//}
void CRobotView::Execute_1(unsigned char a,unsigned char b,unsigned char c,unsigned char d,int e)
{
	CRobotDoc* pDoc=GetDocument();
	unsigned char send[6]={0x53,a,b,0x00,c,d};
	for(int i=0;i<=5;i++)
	pDoc->WriteComm(&send[i],1);
	Sleep(m_ndelay);
}


HBRUSH CRobotView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
		switch(nCtlColor)
		{
	case CTLCOLOR_DLG:
	{
	//pDC->SetBkMode(TRANSPARENT);
	return m_brush;   //返加绿色刷子
	}
	case CTLCOLOR_STATIC:
	{
	   //返加绿色刷子
		//	pDC->SetBkMode(TRANSPARENT);
				return m_brush;
	}
		}
	// TODO: Return a different brush if the default is not desired
	return hbr;
}
void CRobotView::home() 
{
	SendMessage(WM_USER+1002,32,0);
	SendMessage(WM_USER+1002,10,0);
	Sleep(1000);
	SendMessage(WM_USER+1002,33,0);
	SendMessage(WM_USER+1002,10,0);
	Sleep(1000);

    SendMessage(WM_USER+1002,34,0);
	SendMessage(WM_USER+1002,10,0);
	Sleep(1000);
	SendMessage(WM_USER+1002,35,0);
	SendMessage(WM_USER+1002,10,0);
	Sleep(1000);
	SendMessage(WM_USER+1002,36,0);
	SendMessage(WM_USER+1002,10,0);
	Sleep(1000);
}
LRESULT CRobotView::OnCommNotify(WPARAM wParam, LPARAM lParam)
{
	unsigned char buf;
	CWnd* pWnd=GetDlgItem(IDC_STATIC_COMMAND);
	CString str1,str2;
	CRobotDoc* pDoc=GetDocument();
	m_recflag=0;
	if(!pDoc->m_bConnected || 
		(wParam & EV_RXCHAR)!=EV_RXCHAR) // 是否是EV_RXCHAR事件?
	{
		SetEvent(pDoc->m_hPostMsgEvent); // 允许发送下一个WM_COMMNOTIFY消息
		return 0L;
	}
	nLength=pDoc->ReadComm(&buf,1);
	if(nLength)
	{
	//	str1.Format("%d",buf);
		//m_edit1.SetSel(-1, 0);
	//	m_edit1.ReplaceSel(str1); // 向编辑视图中插入收到的字符
		str2="正在执行命令,请稍后.....";
		pWnd->SetWindowText(str2);
		SendMessage(WM_USER+1003);
	}
	SetEvent(pDoc->m_hPostMsgEvent); // 允许发送下一个WM_COMMNOTIFY消息
	return 0L;
}

void CRobotView::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	SendMessage(WM_USER+1002,100);

	CFormView::OnTimer(nIDEvent);
}

⌨️ 快捷键说明

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