📄 dlginlibrecsearch.cpp
字号:
//打印
//标题
oldfont = memDC.SelectObject(&TitleFont);
int nItem = A4_OTHERLINE;
if(nCurPage == 1)
{
nItem = A4_ONELINE;
rc.SetRect(0,(int)(yPix*10),(int)(A4_W*xPix),(int)(yPix*20));
memDC.DrawText(szTitle, &rc, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
}
//细节
memDC.SelectObject(&DetailFont);
rc.SetRect((int)(nLeft),(int)(nTop),(int)(nRight),(int)(nTop+fAdd));
//上横线
memDC.MoveTo(rc.left, rc.top);
memDC.LineTo(rc.right, rc.top);
rt1.SetRect((int)(nLeft),(int)(nTop),(int)(nLeft+45*xPix),(int)(rc.bottom)); //商品名称
rt2.SetRect((int)(rt1.right),(int)(rt1.top),(int)(rt1.right+30*xPix),(int)(rt1.bottom)); //商品数量
rt3.SetRect((int)(rt2.right),(int)(rt1.top),(int)(rt2.right+35*xPix),(int)(rt1.bottom)); //托盘索引
rt4.SetRect((int)(rt3.right),(int)(rt1.top),(int)(rt3.right+35*xPix),(int)(rt1.bottom)); //货位索引
rt5.SetRect((int)(rt4.right),(int)(rt1.top),(int)(rc.right),(int)(rt1.bottom)); //入库时间
memDC.DrawText("商品名称", &rt1, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText("商品数量", &rt2, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText("托盘索引", &rt3, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText("货位索引", &rt4, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText("入库时间", &rt5, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.MoveTo(rt1.right, rt1.top);
memDC.LineTo(rt1.right, rt1.bottom);
memDC.MoveTo(rt2.right, rt1.top);
memDC.LineTo(rt2.right, rt1.bottom);
memDC.MoveTo(rt3.right, rt1.top);
memDC.LineTo(rt3.right, rt1.bottom);
memDC.MoveTo(rt4.right, rt1.top);
memDC.LineTo(rt4.right, rt1.bottom);
memDC.MoveTo(rc.left, rt1.bottom);
memDC.LineTo(rc.right, rt1.bottom);
TCHAR szName[100]={0},szCount[10]={0},szTray[50]={0},szSite[8]={0},szDate[20]={0};
rc.SetRect((int)(nLeft), (int)(nTop+fAdd), (int)(nRight), (int)(nTop+2*fAdd));
rt1.SetRect((int)(nLeft+nTextAdd),(int)(rc.top),(int)(nLeft+45*xPix),(int)(rc.bottom));
rt2.SetRect((int)(rt1.right+nTextAdd),(int)(rt1.top),(int)(rt1.right+30*xPix),(int)(rt1.bottom));
rt3.SetRect((int)(rt2.right+nTextAdd),(int)(rt1.top),(int)(rt2.right+35*xPix),(int)(rt1.bottom));
rt4.SetRect((int)(rt3.right+nTextAdd),(int)(rt1.top),(int)(rt3.right+35*xPix),(int)(rt1.bottom));
rt5.SetRect((int)(rt4.right+nTextAdd),(int)(rt1.top),(int)(rc.right),(int)(rt1.bottom));
int nCountItem = ListView_GetItemCount(hList);
for(int i=0;i<nItem; i++)
{
ListView_GetItemText(hList, i+iStart, 0, szSite, 8);
ListView_GetItemText(hList, i+iStart, 1, szTray, 50);
ListView_GetItemText(hList, i+iStart, 2, szName, 100);
ListView_GetItemText(hList, i+iStart, 3, szCount, 10);
ListView_GetItemText(hList, i+iStart, 4, szDate,20);
memDC.DrawText(szName, &rt1, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szCount, &rt2, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szTray, &rt3, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szSite, &rt4, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szDate, &rt5, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
//下横线
memDC.MoveTo(rc.left, rc.bottom);
memDC.LineTo(rc.right, rc.bottom);
memDC.MoveTo(rt1.right, rt1.top);
memDC.LineTo(rt1.right, rt1.bottom);
memDC.MoveTo(rt2.right, rt1.top);
memDC.LineTo(rt2.right, rt1.bottom);
memDC.MoveTo(rt3.right, rt1.top);
memDC.LineTo(rt3.right, rt1.bottom);
memDC.MoveTo(rt4.right, rt1.top);
memDC.LineTo(rt4.right, rt1.bottom);
memDC.MoveTo(rc.left, rt1.bottom);
memDC.LineTo(rc.right, rt1.bottom);
rc.top += (int)(fAdd);
rc.bottom += (int)(fAdd);
rt1.top = rc.top;
rt1.bottom = rc.bottom;
rt2.top = rt1.top;
rt2.bottom = rt1.bottom;
rt3.top = rt1.top;
rt3.bottom = rt1.bottom;
rt4.top = rt1.top;
rt4.bottom = rt1.bottom;
rt5.top = rt1.top;
rt5.bottom = rt1.bottom;
if((i+iStart+1)>=nCountItem)
break;
}
//结尾
memDC.MoveTo(rc.left,(int)(nTop));
memDC.LineTo(rc.left,rc.top);
memDC.MoveTo(rc.right,(int)(nTop));
memDC.LineTo(rc.right,rc.top);
memDC.DrawText(csLFinality, &rc, DT_LEFT| DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(csRFinality, &rc, DT_RIGHT| DT_VCENTER | DT_SINGLELINE);
memDC.EndPage();
memDC.SelectObject(oldfont);
}
}
memDC.EndDoc();
}
}
else
{
//打印预览
//边框线
hPenOld = memDC.SelectObject(&cPen);
rc.SetRect(0, 0, (int)(A4_W*xPix), (int)(A4_H*yPix));
memDC.Rectangle(&rc);
memDC.SelectObject(hPenOld);
//标题
oldfont = memDC.SelectObject(&TitleFont);
int nItem = A4_OTHERLINE;
if(nCurPage == 1)
{
nItem = A4_ONELINE;
rc.SetRect(0,(int)( yPix*10), (int)(A4_W*xPix), (int)(yPix*20));
memDC.DrawText(szTitle, &rc, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
}
//细节
memDC.SelectObject(&DetailFont);
rc.SetRect((int)(nLeft), (int)(nTop), (int)(nRight), (int)(nTop+fAdd));
//上横线
memDC.MoveTo(rc.left, rc.top);
memDC.LineTo(rc.right, rc.top);
rt1.SetRect((int)(nLeft), (int)(nTop), (int)(nLeft+45*xPix), (int)(nTop+fAdd)); //商品名称
rt2.SetRect((int)(rt1.right), (int)(rt1.top), (int)(rt1.right+30*xPix), (int)(rt1.bottom)); //商品数量
rt3.SetRect((int)(rt2.right), (int)(rt1.top), (int)(rt2.right+35*xPix), (int)(rt1.bottom)); //托盘索引
rt4.SetRect((int)(rt3.right), (int)(rt1.top), (int)(rt3.right+35*xPix), (int)(rt1.bottom)); //货位索引
rt5.SetRect((int)(rt4.right), (int)(rt1.top), (int)(rc.right), (int)(rt1.bottom)); //入库时间
memDC.DrawText("商品名称", &rt1, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText("商品数量", &rt2, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText("托盘索引", &rt3, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText("货位索引", &rt4, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText("入库时间", &rt5, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.MoveTo(rt1.right, rt1.top);
memDC.LineTo(rt1.right, rt1.bottom);
memDC.MoveTo(rt2.right, rt1.top);
memDC.LineTo(rt2.right, rt1.bottom);
memDC.MoveTo(rt3.right, rt1.top);
memDC.LineTo(rt3.right, rt1.bottom);
memDC.MoveTo(rt4.right, rt1.top);
memDC.LineTo(rt4.right, rt1.bottom);
memDC.MoveTo(rt5.right, rt1.top);
memDC.LineTo(rt5.right, rt1.bottom);
memDC.MoveTo(rc.left, rt1.bottom);
memDC.LineTo(rc.right, rt1.bottom);
TCHAR szName[100]={0},szCount[10]={0},szTray[50]={0},szSite[8]={0},szDate[20]={0};
rc.SetRect((int)(nLeft), (int)(nTop+fAdd), (int)(nRight), (int)(nTop+2*fAdd));
rt1.SetRect((int)(nLeft+nTextAdd),(int)(rc.top),(int)(nLeft+45*xPix),(int)(rc.bottom));
rt2.SetRect((int)(rt1.right+nTextAdd),(int)(rt1.top),(int)(rt1.right+30*xPix),(int)(rt1.bottom));
rt3.SetRect((int)(rt2.right+nTextAdd),(int)(rt1.top),(int)(rt2.right+35*xPix),(int)(rt1.bottom));
rt4.SetRect((int)(rt3.right+nTextAdd),(int)(rt1.top),(int)(rt3.right+35*xPix),(int)(rt1.bottom));
rt5.SetRect((int)(rt4.right+nTextAdd),(int)(rt1.top),(int)(rc.right),(int)(rt1.bottom));
int nCountItem = ListView_GetItemCount(hList);
for(int i=0;i<nItem; i++)
{
ListView_GetItemText(hList, i+iStart, 0, szSite, 8);
ListView_GetItemText(hList, i+iStart, 1, szTray, 50);
ListView_GetItemText(hList, i+iStart, 2, szName, 100);
ListView_GetItemText(hList, i+iStart, 3, szCount, 10);
ListView_GetItemText(hList, i+iStart, 4, szDate,20);
memDC.DrawText(szName, &rt1, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szCount, &rt2, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szTray, &rt3, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szSite, &rt4, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szDate, &rt5, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
//下横线
memDC.MoveTo(rc.left, rc.bottom);
memDC.LineTo(rc.right, rc.bottom);
memDC.MoveTo(rt1.right, rt1.top);
memDC.LineTo(rt1.right, rt1.bottom);
memDC.MoveTo(rt2.right, rt1.top);
memDC.LineTo(rt2.right, rt1.bottom);
memDC.MoveTo(rt3.right, rt1.top);
memDC.LineTo(rt3.right, rt1.bottom);
memDC.MoveTo(rt4.right, rt1.top);
memDC.LineTo(rt4.right, rt1.bottom);
memDC.MoveTo(rc.left, rt1.bottom);
memDC.LineTo(rc.right, rt1.bottom);
rc.top += (int)(fAdd);
rc.bottom += (int)(fAdd);
rt1.top = rc.top;
rt1.bottom = rc.bottom;
rt2.top = rt1.top;
rt2.bottom = rt1.bottom;
rt3.top = rt1.top;
rt3.bottom = rt1.bottom;
rt4.top = rt1.top;
rt4.bottom = rt1.bottom;
rt5.top = rt1.top;
rt5.bottom = rt1.bottom;
if((i+iStart+1)>=nCountItem)
break;
}
//结尾
memDC.MoveTo(rc.left, (int)(nTop));
memDC.LineTo(rc.left, rc.top);
memDC.MoveTo(rc.right, (int)(nTop));
memDC.LineTo(rc.right, rc.top);
memDC.DrawText(csLFinality, &rc, DT_LEFT| DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(csRFinality, &rc, DT_RIGHT| DT_VCENTER | DT_SINGLELINE);
memDC.SelectObject(oldfont);
memDC.SelectObject(hPenOld);
}
TitleFont.DeleteObject();
DetailFont.DeleteObject();
cPen.DeleteObject();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -