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

📄 manage_whview.cpp

📁 用VC编写的立体仓库的管理软件源程序和设计说明书。
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	{
		pOldPen = pDC->SelectObject(&this->m_pen);
		pOldBrush = pDC->SelectObject(&this->m_bkBrush);
		//轨道
		float x1,x2,ratio;
		x1 = 0.019f; x2 = 0.022f; ratio = 0.018f; 
		for (int i=0;i<10;i++)
		{
			pDC->Rectangle((int)(m_W*(x1+i*ratio)),(int)(m_H*0.31),(int)(m_W*(x2+i*ratio)),(int)(m_H*0.4));
		}
		pDC->Rectangle((int)(m_W*0.013),(int)(m_H*0.32),(int)(m_W*0.19),(int)(m_H*0.33));
		pDC->Rectangle((int)(m_W*0.013),(int)(m_H*0.38),(int)(m_W*0.19),(int)(m_H*0.39));
		pDC->SelectStockObject(NULL_PEN);
		//画底盘
		pOldBrush = pDC->SelectObject(&bruDown);
		pDC->Rectangle((int)(m_W*0.13),(int)(m_H*0.32),(int)(m_W*0.16),(int)(m_H*0.39));	
		pOldBrush = pDC->SelectObject(&bruArm);
		pDC->Rectangle((int)(m_W*0.143),(int)(m_H*0.335),(int)(m_W*0.152),(int)(m_H*0.375));
		pDC->Rectangle((int)(m_W*0.123),(int)(m_H*0.345),(int)(m_W*0.151),(int)(m_H*0.365));
		pDC->Rectangle((int)(m_W*0.132),(int)(m_H*0.3),(int)(m_W*0.139),(int)(m_H*0.42));
		pDC->Rectangle((int)(m_W*0.13),(int)(m_H*0.41),(int)(m_W*0.141),(int)(m_H*0.43));
		pOldPen = pDC->SelectObject(&pen);
		pDC->MoveTo((int)(m_W*0.125),(int)(m_H*0.438));
		pDC->LineTo((int)(m_W*0.125),(int)(m_H*0.426));
		pDC->LineTo((int)(m_W*0.144),(int)(m_H*0.426));
		pDC->LineTo((int)(m_W*0.144),(int)(m_H*0.438));
		this->m_iThreeCoordinateCurPos = 1;
	}
	else 
	{
		int iMode = pDC->GetROP2();
		pDC->SetROP2(R2_MASKNOTPEN);
		pDC->SelectStockObject(NULL_PEN);
		//画底盘
		pOldBrush = pDC->SelectObject(&bruDown);
		pDC->Rectangle((int)(m_W*0.13),(int)(m_H*0.32),(int)(m_W*0.16),(int)(m_H*0.39));
		pOldBrush = pDC->SelectObject(&bruArm);
		pDC->Rectangle((int)(m_W*0.143),(int)(m_H*0.335),(int)(m_W*0.152),(int)(m_H*0.375));
		pDC->Rectangle((int)(m_W*0.123),(int)(m_H*0.345),(int)(m_W*0.151),(int)(m_H*0.365));
		pDC->Rectangle((int)(m_W*0.132),(int)(m_H*0.3),(int)(m_W*0.139),(int)(m_H*0.42));
		pDC->Rectangle((int)(m_W*0.13),(int)(m_H*0.41),(int)(m_W*0.141),(int)(m_H*0.43));
		pOldPen = pDC->SelectObject(&pen);
		pDC->MoveTo((int)(m_W*0.125),(int)(m_H*0.438));
		pDC->LineTo((int)(m_W*0.125),(int)(m_H*0.426));
		pDC->LineTo((int)(m_W*0.144),(int)(m_H*0.426));
		pDC->LineTo((int)(m_W*0.144),(int)(m_H*0.438));
		pDC->SetROP2(iMode);
	}
	pDC->SelectObject(pOldPen);
	pDC->SelectObject(pOldBrush);
	pen.DeleteObject();
	bruArm.DeleteObject();
	bruDown.DeleteObject();
}

void CManage_WHView::ThreeCoordinateStep2(CDC *pDC, BOOL bHave)
{
	CBrush bruDown,bruArm,*pOldBrush;
	CPen pen,*pOldPen;
	pen.CreatePen(PS_SOLID,2,RGB(255,50,0));
	bruDown.CreateSolidBrush(RGB(193,192,192));
	bruArm.CreateSolidBrush(RGB(255,50,0));
	if (bHave)
	{
		pOldPen = pDC->SelectObject(&this->m_pen);
		pOldBrush = pDC->SelectObject(&this->m_bkBrush);
		//轨道
		float x1,x2,ratio;
		x1 = 0.019f; x2 = 0.022f; ratio = 0.018f; 
		for (int i=0;i<10;i++)
		{
			pDC->Rectangle((int)(m_W*(x1+i*ratio)),(int)(m_H*0.31),(int)(m_W*(x2+i*ratio)),(int)(m_H*0.4));
		}
		
		pDC->Rectangle((int)(m_W*0.013),(int)(m_H*0.32),(int)(m_W*0.19),(int)(m_H*0.33));
		pDC->Rectangle((int)(m_W*0.013),(int)(m_H*0.38),(int)(m_W*0.19),(int)(m_H*0.39));	
		pDC->SelectStockObject(NULL_PEN);
		//画底盘、手臂
		pOldBrush = pDC->SelectObject(&bruDown);
		pDC->Rectangle((int)(m_W*0.13),(int)(m_H*0.32),(int)(m_W*0.16),(int)(m_H*0.39));
		pOldBrush = pDC->SelectObject(&bruArm);
		pDC->Rectangle((int)(m_W*0.143),(int)(m_H*0.334),(int)(m_W*0.152),(int)(m_H*0.375));
		pDC->Rectangle((int)(m_W*0.123),(int)(m_H*0.345),(int)(m_W*0.151),(int)(m_H*0.365));
		pDC->Rectangle((int)(m_W*0.132),(int)(m_H*0.31),(int)(m_W*0.139),(int)(m_H*0.45));
		pDC->Rectangle((int)(m_W*0.13),(int)(m_H*0.44),(int)(m_W*0.141),(int)(m_H*0.46));
		pOldPen = pDC->SelectObject(&pen);
		pDC->MoveTo((int)(m_W*0.125),(int)(m_H*0.468));
		pDC->LineTo((int)(m_W*0.125),(int)(m_H*0.456));
		pDC->LineTo((int)(m_W*0.145),(int)(m_H*0.456));
		pDC->LineTo((int)(m_W*0.145),(int)(m_H*0.468));

		this->m_iThreeCoordinateCurPos = 2;
	}
	else 
	{
		int iMode = pDC->GetROP2();
		pDC->SetROP2(R2_MASKNOTPEN);
		pDC->SelectStockObject(NULL_PEN);
		//画底盘
		pOldBrush = pDC->SelectObject(&bruDown);
		pDC->Rectangle((int)(m_W*0.13),(int)(m_H*0.32),(int)(m_W*0.16),(int)(m_H*0.39));
		pOldBrush = pDC->SelectObject(&bruArm);
		pDC->Rectangle((int)(m_W*0.143),(int)(m_H*0.335),(int)(m_W*0.152),(int)(m_H*0.375));
		pDC->Rectangle((int)(m_W*0.123),(int)(m_H*0.345),(int)(m_W*0.151),(int)(m_H*0.365));		
		pDC->Rectangle((int)(m_W*0.132),(int)(m_H*0.31),(int)(m_W*0.139),(int)(m_H*0.45));		
		pDC->Rectangle((int)(m_W*0.13),(int)(m_H*0.44),(int)(m_W*0.141),(int)(m_H*0.46));
		pOldPen = pDC->SelectObject(&pen);
		pDC->MoveTo((int)(m_W*0.125),(int)(m_H*0.468));
		pDC->LineTo((int)(m_W*0.125),(int)(m_H*0.456));
		pDC->LineTo((int)(m_W*0.145),(int)(m_H*0.456));
		pDC->LineTo((int)(m_W*0.145),(int)(m_H*0.468));

		CAdoConnection cn;
		cn.OpenUDLFile(gstrConSQLSer);
		cn.Execute("UPDATE T_Device_Site_State SET F_State=0 WHERE F_Index=13",adCmdText);
		cn.Close();
		pDC->SetROP2(iMode);
		CRect rcMax,rcMin;
		rcMax.SetRect((int)(m_W*0.119),(int)(m_H*0.44),(int)(m_W*0.149),(int)(m_H*0.485));
		rcMin.left	 = (int)(rcMax.left + rcMax.Width() * 0.2);
		rcMin.right  = (int)(rcMax.left + rcMax.Width() * 0.9);
		rcMin.top    = (int)(rcMax.top  + rcMax.Height()* 0.2);
		rcMin.bottom = (int)(rcMax.top  + rcMax.Height()* 0.9);
		pDC->SelectStockObject(NULL_PEN);
		pDC->SelectObject(&this->m_bkBrush);
		pDC->Rectangle(rcMin);

		pOldPen = pDC->SelectObject(&m_pen);
		pDC->MoveTo((int)(m_W*0.119),(int)(m_H*0.44));
		pDC->LineTo((int)(m_W*0.149),(int)(m_H*0.44));
		gpDoc->m_iDeviceStatusArra[12] = 0;
	}
	
	
	pDC->SelectObject(pOldPen);
	pDC->SelectObject(pOldBrush);
	pen.DeleteObject();
	bruArm.DeleteObject();
	bruDown.DeleteObject();
}

void CManage_WHView::ThreeCoordinateStep3(CDC *pDC, BOOL bHave)
{
	CBrush bruDown,bruArm,*pOldBrush;
	CPen pen,*pOldPen;
	pen.CreatePen(PS_SOLID,2,RGB(255,50,0));
	bruDown.CreateSolidBrush(RGB(193,192,192));
	bruArm.CreateSolidBrush(RGB(255,50,0));
	if (bHave)
	{
		pOldPen = pDC->SelectObject(&this->m_pen);
		pOldBrush = pDC->SelectObject(&this->m_bkBrush);
		//轨道
		float x1,x2,ratio;
		x1 = 0.019f; x2 = 0.022f; ratio = 0.018f; 
		for (int i=0;i<10;i++)
		{
			pDC->Rectangle((int)(m_W*(x1+i*ratio)),(int)(m_H*0.31),(int)(m_W*(x2+i*ratio)),(int)(m_H*0.4));
		}
		
		pDC->Rectangle((int)(m_W*0.013),(int)(m_H*0.32),(int)(m_W*0.19),(int)(m_H*0.33));
		pDC->Rectangle((int)(m_W*0.013),(int)(m_H*0.38),(int)(m_W*0.19),(int)(m_H*0.39));
		pDC->SelectStockObject(NULL_PEN);
		//画底盘、手臂
		pOldBrush = pDC->SelectObject(&bruDown);
		pDC->Rectangle((int)(m_W*0.13),(int)(m_H*0.32),(int)(m_W*0.16),(int)(m_H*0.39));		
		pOldBrush = pDC->SelectObject(&bruArm);
		pDC->Rectangle((int)(m_W*0.143),(int)(m_H*0.335),(int)(m_W*0.152),(int)(m_H*0.375));		
		pDC->Rectangle((int)(m_W*0.123),(int)(m_H*0.345),(int)(m_W*0.151),(int)(m_H*0.365));		
		pDC->Rectangle((int)(m_W*0.132),(int)(m_H*0.333),(int)(m_W*0.139),(int)(m_H*0.49));		
		pDC->Rectangle((int)(m_W*0.13),(int)(m_H*0.48),(int)(m_W*0.141),(int)(m_H*0.5));
		pOldPen = pDC->SelectObject(&pen);		
		pDC->MoveTo((int)(m_W*0.125),(int)(m_H*0.508));
		pDC->LineTo((int)(m_W*0.125),(int)(m_H*0.496));
		pDC->LineTo((int)(m_W*0.145),(int)(m_H*0.496));
		pDC->LineTo((int)(m_W*0.145),(int)(m_H*0.508));

		this->m_iThreeCoordinateCurPos = 3;
	}
	else 
	{
		int iMode = pDC->GetROP2();
		pDC->SetROP2(R2_MASKNOTPEN);
		pDC->SelectStockObject(NULL_PEN);
		//画底盘
		pOldBrush = pDC->SelectObject(&bruDown);
		pDC->Rectangle((int)(m_W*0.13),(int)(m_H*0.32),(int)(m_W*0.16),(int)(m_H*0.39));	
		pOldBrush = pDC->SelectObject(&bruArm);
		pDC->Rectangle((int)(m_W*0.143),(int)(m_H*0.335),(int)(m_W*0.152),(int)(m_H*0.375));		
		pDC->Rectangle((int)(m_W*0.123),(int)(m_H*0.345),(int)(m_W*0.151),(int)(m_H*0.365));		
		pDC->Rectangle((int)(m_W*0.132),(int)(m_H*0.333),(int)(m_W*0.139),(int)(m_H*0.49));		
		pDC->Rectangle((int)(m_W*0.13),(int)(m_H*0.48),(int)(m_W*0.141),(int)(m_H*0.5));		
		pOldPen = pDC->SelectObject(&pen);		
		pDC->MoveTo((int)(m_W*0.125),(int)(m_H*0.508));
		pDC->LineTo((int)(m_W*0.125),(int)(m_H*0.496));
		pDC->LineTo((int)(m_W*0.145),(int)(m_H*0.496));
		pDC->LineTo((int)(m_W*0.145),(int)(m_H*0.508));

		CAdoConnection cn;
		cn.OpenUDLFile(gstrConSQLSer);
		cn.Execute("UPDATE T_Device_Site_State SET F_State=0 WHERE F_Index=20",adCmdText);
		cn.Close();
		pDC->SetROP2(iMode);
		CRect rcMax,rcMin;
		rcMax.SetRect((int)(m_W*0.119),(int)(m_H*0.485),(int)(m_W*0.149),(int)(m_H*0.53));
		rcMin.left	 = (int)(rcMax.left + rcMax.Width() * 0.2);
		rcMin.right  = (int)(rcMax.left + rcMax.Width() * 0.9);
		rcMin.top    = (int)(rcMax.top  + rcMax.Height()* 0.2);
		rcMin.bottom = (int)(rcMax.top  + rcMax.Height()* 0.9);
		pDC->SelectStockObject(NULL_PEN);
		pDC->SelectObject(&this->m_bkBrush);
		pDC->Rectangle(rcMin);

		//如果位置13的状态等于1,则重画
		if (gpDoc->m_iDeviceStatusArra[12] == 1)
		{
			CRect rcMax,rcMin;
			rcMax.SetRect((int)(m_W*0.119),(int)(m_H*0.44),(int)(m_W*0.149),(int)(m_H*0.485));
			rcMin.left	 = (int)(rcMax.left + rcMax.Width() * 0.2);
			rcMin.right  = (int)(rcMax.left + rcMax.Width() * 0.9);
			rcMin.top    = (int)(rcMax.top  + rcMax.Height()* 0.2);
			rcMin.bottom = (int)(rcMax.top  + rcMax.Height()* 0.9);
			pDC->SelectObject(&this->m_haveBoxBrush);
			pDC->Rectangle(rcMin);
			
			CString sNowNum;	
			sNowNum.Format("%d",gpDoc->m_iNowNum[12]);
			LOGFONT nFont;
			memset(&nFont,0,sizeof(LOGFONT));
			nFont.lfHeight = 15; //字高
			lstrcpy(nFont.lfFaceName,"Arial");  //设置字体
			
			CFont ftNote,*pOldFont;
			ftNote.CreateFontIndirect(&nFont); 
			pOldFont = pDC->SelectObject(&ftNote);
			
			pDC->SetBkColor(RGB(255,153,255));
			pDC->SetTextColor(RGB(0,0,0));
			pDC->DrawText(sNowNum,&rcMin,DT_BOTTOM|DT_CENTER|DT_SINGLELINE);
			
			pDC->SelectObject(pOldFont);
			ftNote.DeleteObject();
		}

		pOldPen = pDC->SelectObject(&m_pen);
		pDC->MoveTo((int)(m_W*0.119),(int)(m_H*0.44));
		pDC->LineTo((int)(m_W*0.149),(int)(m_H*0.44));

		pDC->MoveTo((int)(m_W*0.119),(int)(m_H*0.485));
		pDC->LineTo((int)(m_W*0.149),(int)(m_H*0.485));

		gpDoc->m_iDeviceStatusArra[19] = 0;
	}
	
	
	pDC->SelectObject(pOldPen);
	pDC->SelectObject(pOldBrush);
	pen.DeleteObject();
	bruArm.DeleteObject();
	bruDown.DeleteObject();
}

void CManage_WHView::ThreeCoordinateStep4(CDC *pDC, BOOL bHave)
{
	CBrush bruDown,bruArm,*pOldBrush;
	CPen pen,*pOldPen;
	CRect rcMax,rcMin;
	rcMax.SetRect((int)(m_W*0.079),(int)(m_H*0.485),(int)(m_W*0.109),(int)(m_H*0.53));
	rcMin.left   = (int)(rcMax.left + rcMax.Width() * 0.2);
	rcMin.right  = (int)(rcMax.left + rcMax.Width() * 0.9);
	rcMin.top    = (int)(rcMax.top  + rcMax.Height()* 0.2);
	rcMin.bottom = (int)(rcMax.top  + rcMax.Height()* 0.9);
	pen.CreatePen(PS_SOLID,2,RGB(255,50,0));
	bruDown.CreateSolidBrush(RGB(193,192,192));
	bruArm.CreateSolidBrush(RGB(255,50,0));
	if (bHave)
	{
		pOldPen = pDC->SelectObject(&this->m_pen);
		pOldBrush = pDC->SelectObject(&this->m_bkBrush);
		//轨道
		float x1,x2,ratio;
		x1 = 0.019f; x2 = 0.022f; ratio = 0.018f; 
		for (int i=0;i<10;i++)
		{
			pDC->Rectangle((int)(m_W*(x1+i*ratio)),(int)(m_H*0.31),(int)(m_W*(x2+i*ratio)),(int)(m_H*0.4));
		}
		
		pDC->Rectangle((int)(m_W*0.013),(int)(m_H*0.32),(int)(m_W*0.19),(int)(m_H*0.33));
		pDC->Rectangle((int)(m_W*0.013),(int)(m_H*0.38),(int)(m_W*0.19),(int)(m_H*0.39));
		pDC->SelectStockObject(NULL_PEN);
		//画底盘、手臂
		pOldBrush = pDC->SelectObject(&bruDown);
		pDC->Rectangle((int)(m_W*0.09),(int)(m_H*0.32),(int)(m_W*0.12),(int)(m_H*0.39));		
		pOldBrush = pDC->SelectObject(&bruArm);
		pDC->Rectangle((int)(m_W*0.103),(int)(m_H*0.335),(int)(m_W*0.112),(int)(m_H*0.375));		
		pDC->Rectangle((int)(m_W*0.083),(int)(m_H*0.345),(int)(m_W*0.111),(int)(m_H*0.365));		
		pDC->Rectangle((int)(m_W*0.092),(int)(m_H*0.333),(int)(m_W*0.099),(int)(m_H*0.49));		
		pDC->Rectangle((int)(m_W*0.09),(int)(m_H*0.48),(int)(m_W*0.101),(int)(m_H*0.5));
		pOldPen = pDC->SelectObject(&pen);		
		pDC->MoveTo((int)(m_W*0.085),(int)(m_H*0.508));
		pDC->LineTo((int)(m_W*0.085),(int)(m_H*0.496));
		pDC->LineTo((int)(m_W*0.105),(int)(m_H*0.496));
		pDC->LineTo((int)(m_W*0.105),(int)(m_H*0.508));
		pDC->SelectStockObject(NULL_PEN);
		pDC->SelectObject(&m_haveBoxBrush);
		pDC->Rectangle(rcMin);
		this->m_iThreeCoordinateCurPos = 4;
	}
	else 
	{
		int iMode = pDC->GetROP2();
		pDC->SetROP2(R2_MASKNOTPEN);
		pDC->SelectStockObject(NULL_PEN);
		//画底盘
		pOldBrush = pDC->SelectObject(&bruDown);
		pDC->Rectangle((int)(m_W*0.09),(int)(m_H*0.32),(int)(m_W*0.12),(int)(m_H*0.39));	
		pOldBrush = pDC->SelectObject(&bruArm);
		pDC->Rectangle((int)(m_W*0.103),(int)(m_H*0.335),(int)(m_W*0.112),(int)(m_H*0.375));		
		pDC->Rectangle((int)(m_W*0.083),(int)(m_H*0.345),(int)(m_W*0.111),(int)(m_H*0.365));		
		pDC->Rectangle((int)(m_W*0.092),(int)(m_H*0.333),(int)(m_W*0.099),(int)(m_H*0.49));		
		pDC->Rectangle((int)(m_W*0.09),(int)(m_H*0.48),(int)(m_W*0.101),(int)(m_H*0.5));		
		pOldPen = pDC->SelectObject(&pen);		
		pDC->MoveTo((int)(m_W*0.085),(int)(m_H*0.508));
		pDC->LineTo((int)(m_W*0.085),(int)(m_H*0.496));
		pDC->LineTo((int)(m_W*0.105),(int)(m_H*0.496));
		pDC->LineTo((int)(m_W*0.105),(int)(m_H*0.508));

		pDC->SetROP2(iMode);
		pDC->SelectStockObject(NULL_PEN);
		pDC->SelectObject(&this->m_bkBrush);
		pDC->Rectangle(rcMin);

		//如果位置23的状态等于1,则重画
		if (gpDoc->m_iDeviceStatusArra[22] == 1)
		{
			rcMax.SetRect((int)(m_W*0.068),(int)(m_H*0.44),(int)(m_W*0.118),(int)(m_H*0.55));
			rcMin.left	 = (int)(rcMax.left + rcMax.Width() * 0.2);
			rcMin.right  = (int)(rcMax.left + rcMax.Width() * 0.9);
			rcMin.top    = (int)(rcMax.top  + rcMax.Height()* 0.2);
			rcMin.bottom = (int)(rcMax.top  + rcMax.Height()* 0.9);
			pDC->SelectObject(&this->m_haveTrayBrush);
			pDC->Rectangle(rcMin);
			
			CString sNowNum;	
			sNowNum.Format("%d",gpDoc->m_iNowNum[22]);
			LOGFONT nFont;
			memset(&nFont,0,sizeof(LOGFONT));
			nFont.lfHeight = 15; //字高
			lstrcpy(nFont.lfFaceName,"Arial");  //设置字体
			
			CFont ftNote,*pOldFont;
			ftNote.CreateFontIndirect(&nFont); 
			pOldFont = pDC->SelectObject(&ftNote);
			
			pDC->SetBkColor(RGB(255,153,255));
			pDC->SetTextColor(RGB(0,0,0));
			pDC->DrawText(sNowNum,&rcMin,DT_BOTTOM|DT_CENTER|DT_SINGLELINE);
			
			pDC->SelectObject(pOldFont);
			ftNote.DeleteObject();
		}

		pOldPen = pDC->SelectObject(&m_pen);
		pDC->MoveTo((int)(m_W*0.068),(int)(m_H*0.44));
		pDC->LineTo((int)(m_W*0.118),(int)(m_H*0.44));
	}
	

⌨️ 快捷键说明

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