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

📄 goodsview1.cpp

📁 用VC编写的立体仓库的管理软件源程序和设计说明书。
💻 CPP
字号:
// GoodsView1.cpp : implementation file
//

#include "stdafx.h"
#include "Manage_WH.h"
#include "GoodsView1.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CGoodsView1

IMPLEMENT_DYNCREATE(CGoodsView1, CView)

CGoodsView1::CGoodsView1()
{
}

CGoodsView1::~CGoodsView1()
{
}


BEGIN_MESSAGE_MAP(CGoodsView1, CView)
	//{{AFX_MSG_MAP(CGoodsView1)
	ON_WM_ERASEBKGND()
	ON_WM_LBUTTONDBLCLK()
	ON_WM_CREATE()
	ON_WM_TIMER()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGoodsView1 drawing

void CGoodsView1::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
	// TODO: add draw code here
	if (!gpDoc->m_bTimeDealing1)
	{
		gpDoc->m_bTimeDealing1 = TRUE;
		CRect rc;
		GetClientRect(&rc);
		
		gpDoc->m_GoodsFrameArra[0].SetRect(rc);
		gpDoc->m_GoodsFrameArra[0].Draw(pDC,1);
		gpDoc->m_bTimeDealing1 = FALSE;
	}
}

/////////////////////////////////////////////////////////////////////////////
// CGoodsView1 diagnostics

#ifdef _DEBUG
void CGoodsView1::AssertValid() const
{
	CView::AssertValid();
}

void CGoodsView1::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CGoodsView1 message handlers

BOOL CGoodsView1::OnEraseBkgnd(CDC* pDC) 
{
	//填充背景色
	CBrush brush(RGB(193,192,192));
	CBrush* pOldBrush=pDC->SelectObject(&brush);
	CRect rcClip;
	pDC->GetClipBox(&rcClip);
	pDC->PatBlt(rcClip.left,rcClip.top,rcClip.Width(),rcClip.Height(),PATCOPY);

	return TRUE;
}

void CGoodsView1::OnLButtonDblClk(UINT nFlags, CPoint point) 
{
	int row, col, line;
	CString strSite,sText;

	line = 0;

	for (row = 0; row < gpDoc->m_GoodsFrameArra[line].m_iRowNum; row++)
	for (col = 0; col < gpDoc->m_GoodsFrameArra[line].m_iColNum; col++)
	{
		if (gpDoc->m_GoodsFrameArra[line].GetMinRect(row, col).PtInRect(point))
		{
			strSite.Format("%d-%.2d-%d",line+1,col+1,row+1);
			if (strSite == "2-05-1" || strSite == "2-06-1")
				sText = "LGV进货一口(立库出入一口)";
			else if (strSite == "2-11-1" || strSite == "2-12-1")
				sText = "LGV进货二口(立库出入二口)";
			else
			{
				CString szStatus;
				switch(gpDoc->m_GoodsFrameArra[line].GetState(row,col))
				{
				case 0:szStatus = "空";		 break;
				case 1:szStatus = "有货";	 break;
				case 2:szStatus = "有货占用";break;
				case 3:szStatus = "无货占用";break;
				case 4:szStatus = "禁用";	 break;
				}
				if (szStatus == "空" || szStatus == "无货占用" || szStatus == "禁用")
					sText = "货位:["+strSite+"]  状态:["+szStatus+"]";
				else 
				{
					int iCount,iGoodsKind;
					CString sCount,sGoodsName;
					CAdoConnection cn;
					CAdoRecordSet  rs;
					cn.OpenUDLFile(gstrConSQLSer);
					rs.SetAdoConnection(&cn);
					rs.Open("select * from T_Goods_Site_Manage where F_SiteIndex='"+strSite+"'",adCmdText);
					rs.GetCollect("F_GoodsKind",iGoodsKind);
					rs.GetCollect("F_GoodsCount",iCount);
					rs.Close();
					cn.Close();
					if (iGoodsKind==100)		sGoodsName="杂色商品";
					else if (iGoodsKind==101)	sGoodsName="空货箱";
					else if (iGoodsKind==102)	sGoodsName="单空托盘";
					else if (iGoodsKind==103)	sGoodsName="托盘垛";
					else sGoodsName = gfGetGoodsName(iGoodsKind);
									
					sCount.Format("%d",iCount);
					sText = "货位:["+strSite+"]    状态:["+szStatus+"]     商品名称:["+sGoodsName+"]     商品数量:["+sCount+"]";
				}
			}
			gpDoc->m_pStatusWnd->SetWindowText(sText);
			break;
		}
	}			
	CView::OnLButtonDblClk(nFlags, point);
}

int CGoodsView1::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	SetTimer(1, 2000, NULL);
	return 0;
}

void CGoodsView1::OnTimer(UINT nIDEvent) 
{
	if (!gpDoc->m_bTimeDealing1)
	{
		gpDoc->m_bTimeDealing1 = TRUE;

		CAdoConnection cn;
		CAdoRecordSet  rs;
		cn.OpenUDLFile(gstrConSQLSer);
		rs.SetAdoConnection(&cn);
		CString ParamTxtVal,szNumLine,szNumRow,szNumCol;
		int		ParamNumVal;
		int	iNumLine,iNumRow,iNumCol;
		
		
		rs.Open("select F_SiteIndex,F_SiteState from T_Goods_Site_Manage",adCmdText);
		
		while (!rs.IsEOF())
		{
			rs.GetCollect("F_SiteIndex", ParamTxtVal);
			rs.GetCollect("F_SiteState", ParamNumVal);
			
			szNumLine = ParamTxtVal.Mid(0,1);
			szNumCol  = ParamTxtVal.Mid(2,2);
			szNumRow  = ParamTxtVal.Mid(5,1);
			
			iNumLine = atoi(szNumLine) - 1;
			iNumRow  = atoi(szNumRow)  - 1;
			iNumCol  = atoi(szNumCol)  - 1;
			
			if (iNumLine == 0)
			{
				if (gpDoc->m_GoodsFrameArra[iNumLine].GetState(iNumRow,iNumCol) != ParamNumVal)
				{
					gpDoc->m_GoodsFrameArra[iNumLine].SetState(iNumRow, iNumCol, ParamNumVal);
					InvalidateRect(gpDoc->m_GoodsFrameArra[iNumLine].GetRect(iNumRow, iNumCol),true);
				}
			}
			
			rs.MoveNext();
		}
		
		
		rs.Close();
		cn.Close();	
		gpDoc->m_bTimeDealing1 = FALSE;
	}
	CView::OnTimer(nIDEvent);
}

⌨️ 快捷键说明

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