📄 dlgorderinlibsearch.cpp
字号:
return;
}
else
{
//打印
//标题
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);
int nCountItem = ListView_GetItemCount(hList);
CString sCountItem;
sCountItem.Format("%d",nCountItem);
TCHAR szFormNum[13]={0},szGoodsName[100]={0},szSup[100]={0};
ListView_GetItemText(hList, 0, 0, szFormNum, 13);
ListView_GetItemText(hList, 0, 1, szGoodsName, 100);
ListView_GetItemText(hList, 0, 8, szSup, 100);
rtNum.SetRect((int)(nLeft+3*xPix),(int)(rc.bottom),(int)(nLeft+23*xPix),(int)(rc.bottom+fAdd));
memDC.DrawText("入库单编号:", &rtNum, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtNum.SetRect((int)(nLeft+25*xPix),(int)(rc.bottom),(int)(nLeft+100*xPix),(int)(rc.bottom+fAdd));
memDC.DrawText(szFormNum, &rtNum, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtGoodsName.SetRect((int)(nLeft+120*xPix),(int)(rc.bottom),(int)(nLeft+136*xPix),(int)(rc.bottom+fAdd));
memDC.DrawText("商品名称:",&rtGoodsName, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtGoodsName.SetRect((int)(nLeft+138*xPix),(int)(rc.bottom),(int)(nRight),(int)(rc.bottom+fAdd));
memDC.DrawText(szGoodsName,&rtGoodsName, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtSupp.SetRect((int)(nLeft+3*xPix),(int)(rtNum.bottom),(int)(nLeft+23*xPix),(int)(rtNum.bottom+fAdd));
memDC.DrawText("供应商名称:",&rtSupp, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtSupp.SetRect((int)(nLeft+25*xPix),(int)(rtNum.bottom),(int)(nLeft+100*xPix),(int)(rtNum.bottom+fAdd));
memDC.DrawText(szSup,&rtSupp, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtCount.SetRect((int)(nLeft+120*xPix),(int)(rtNum.bottom),(int)(nLeft+136*xPix),(int)(rtNum.bottom+fAdd));
memDC.DrawText("商品数量:",&rtCount, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtCount.SetRect((int)(nLeft+138*xPix),(int)(rtNum.bottom),(int)(nRight),(int)(rtNum.bottom+fAdd));
memDC.DrawText(sCountItem,&rtCount, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rc.SetRect((int)(nLeft),(int)(rtSupp.bottom),(int)(nRight),(int)(rtSupp.bottom+fAdd));
//上横线
memDC.MoveTo(rc.left, rc.top);
memDC.LineTo(rc.right, rc.top);
rt1.SetRect((int)(nLeft),(int)(rtSupp.bottom),(int)(nLeft+40*xPix),(int)(rtSupp.bottom+fAdd)); //商品编码
rt2.SetRect((int)(rt1.right),(rt1.top),(int)(rt1.right+30*xPix),(int)(rt1.bottom)); //商品价格
rt3.SetRect((int)(rt2.right),(int)(rt1.top),(int)(rt2.right+30*xPix),(int)(rt1.bottom)); //商品规格
rt4.SetRect((int)(rt3.right),(int)(rt1.top),(int)(rt3.right+25*xPix),(int)(rt1.bottom)); //商品颜色
rt5.SetRect((int)(rt4.right),(int)(rt1.top),(int)(rt4.right+35*xPix),(int)(rt1.bottom)); //商品重量
rt6.SetRect((int)(rt5.right),(int)(rt1.top),(int)(rc.right),(int)(rt1.bottom)); //计量单位
memDC.DrawText("商品条形码", &rt1, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText("商品价格(RMB)" , &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("商品重量(KG)" , &rt5, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText("计量单位" , &rt6, 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(rt6.right, rt1.top);
memDC.LineTo(rt6.right, rt1.bottom);
memDC.MoveTo((int)(rc.left) ,(int)(rc.bottom));
memDC.LineTo((int)(rc.right),(int)(rc.bottom));
TCHAR szID[128]={0},szPrice[10]={0},szSpec[10]={0},szColor[10]={0},szWeight[10]={0},szUnit[4]={0};
rc.SetRect((int)(nLeft),(int)(rtSupp.bottom+fAdd),(int)(nRight),(int)(rtSupp.bottom+2*fAdd));
rt1.SetRect((int)(nLeft+nTextAdd), (int)(rc.top), (int)(nLeft+40*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+30*xPix), (int)(rt1.bottom));
rt4.SetRect((int)(rt3.right+nTextAdd), (int)(rt1.top), (int)(rt3.right+25*xPix), (int)(rt1.bottom));
rt5.SetRect((int)(rt4.right+nTextAdd), (int)(rt1.top), (int)(rt4.right+35*xPix), (int)(rt1.bottom));
rt6.SetRect((int)(rt5.right+nTextAdd), (int)(rt1.top), (int)(rc.right), (int)(rt1.bottom));
for(int i=0;i<nItem; i++)
{
ListView_GetItemText(hList, i+iStart, 2, szID, 128);
ListView_GetItemText(hList, i+iStart, 3, szPrice, 10);
ListView_GetItemText(hList, i+iStart, 4, szSpec, 10);
ListView_GetItemText(hList, i+iStart, 5, szColor,10);
ListView_GetItemText(hList, i+iStart, 6, szWeight,10);
ListView_GetItemText(hList, i+iStart, 7, szUnit,4);
memDC.DrawText(szID, &rt1, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szPrice, &rt2, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szSpec, &rt3, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szColor, &rt4, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szWeight, &rt5, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szUnit, &rt6, 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(rt5.right, rt1.top);
memDC.LineTo(rt5.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;
rt6.top = rt1.top;
rt6.bottom = rt1.bottom;
if((i+iStart+1)>=nCountItem)
break;
}
//结尾
memDC.MoveTo(rc.left, (int)(rtSupp.bottom));
memDC.LineTo(rc.left, rc.top);
memDC.MoveTo(rc.right, (int)(rtSupp.bottom));
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*30));
memDC.DrawText(szTitle, &rc, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
}
//细节
memDC.SelectObject(&DetailFont);
int nCountItem = ListView_GetItemCount(hList);
CString sCountItem;
sCountItem.Format("%d",nCountItem);
TCHAR szFormNum[13]={0},szGoodsName[100]={0},szSup[100]={0};
ListView_GetItemText(hList, 0, 0, szFormNum, 13);
ListView_GetItemText(hList, 0, 1, szGoodsName, 100);
ListView_GetItemText(hList, 0, 8, szSup, 100);
rtNum.SetRect((int)(nLeft+3*xPix),(int)(rc.bottom),(int)(nLeft+23*xPix),(int)(rc.bottom+fAdd));
memDC.DrawText("入库单编号:", &rtNum, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtNum.SetRect((int)(nLeft+25*xPix),(int)(rc.bottom),(int)(nLeft+100*xPix),(int)(rc.bottom+fAdd));
memDC.DrawText(szFormNum, &rtNum, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtGoodsName.SetRect((int)(nLeft+120*xPix),(int)(rc.bottom),(int)(nLeft+136*xPix),(int)(rc.bottom+fAdd));
memDC.DrawText("商品名称:",&rtGoodsName, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtGoodsName.SetRect((int)(nLeft+138*xPix),(int)(rc.bottom),(int)(nRight),(int)(rc.bottom+fAdd));
memDC.DrawText(szGoodsName,&rtGoodsName, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtSupp.SetRect((int)(nLeft+3*xPix),(int)(rtNum.bottom),(int)(nLeft+23*xPix),(int)(rtNum.bottom+fAdd));
memDC.DrawText("供应商名称:",&rtSupp, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtSupp.SetRect((int)(nLeft+25*xPix),(int)(rtNum.bottom),(int)(nLeft+100*xPix),(int)(rtNum.bottom+fAdd));
memDC.DrawText(szSup,&rtSupp, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtCount.SetRect((int)(nLeft+120*xPix),(int)(rtNum.bottom),(int)(nLeft+136*xPix),(int)(rtNum.bottom+fAdd));
memDC.DrawText("商品数量:",&rtCount, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rtCount.SetRect((int)(nLeft+138*xPix),(int)(rtNum.bottom),(int)(nRight),(int)(rtNum.bottom+fAdd));
memDC.DrawText(sCountItem,&rtCount, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
rc.SetRect((int)(nLeft),(int)(rtSupp.bottom),(int)(nRight),(int)(rtSupp.bottom+fAdd));
//上横线
memDC.MoveTo(rc.left, rc.top);
memDC.LineTo(rc.right, rc.top);
rt1.SetRect((int)(nLeft),(int)(rtSupp.bottom),(int)(nLeft+40*xPix),(int)(rtSupp.bottom+fAdd)); //商品编码
rt2.SetRect((int)(rt1.right),(rt1.top),(int)(rt1.right+30*xPix),(int)(rt1.bottom)); //商品价格
rt3.SetRect((int)(rt2.right),(int)(rt1.top),(int)(rt2.right+30*xPix),(int)(rt1.bottom)); //商品规格
rt4.SetRect((int)(rt3.right),(int)(rt1.top),(int)(rt3.right+25*xPix),(int)(rt1.bottom)); //商品颜色
rt5.SetRect((int)(rt4.right),(int)(rt1.top),(int)(rt4.right+35*xPix),(int)(rt1.bottom)); //商品重量
rt6.SetRect((int)(rt5.right),(int)(rt1.top),(int)(rc.right),(int)(rt1.bottom)); //计量单位
memDC.DrawText("商品条形码", &rt1, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText("商品价格(RMB)" , &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("商品重量(KG)" , &rt5, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText("计量单位" , &rt6, 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(rt6.right, rt1.top);
memDC.LineTo(rt6.right, rt1.bottom);
memDC.MoveTo((int)(rc.left) ,(int)(rc.bottom));
memDC.LineTo((int)(rc.right),(int)(rc.bottom));
TCHAR szID[128]={0},szPrice[10]={0},szSpec[10]={0},szColor[10]={0},szWeight[10]={0},szUnit[4]={0};
rc.SetRect((int)(nLeft),(int)(rtSupp.bottom+fAdd),(int)(nRight),(int)(rtSupp.bottom+2*fAdd));
rt1.SetRect((int)(nLeft+nTextAdd), (int)(rc.top), (int)(nLeft+40*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+30*xPix), (int)(rt1.bottom));
rt4.SetRect((int)(rt3.right+nTextAdd), (int)(rt1.top), (int)(rt3.right+25*xPix), (int)(rt1.bottom));
rt5.SetRect((int)(rt4.right+nTextAdd), (int)(rt1.top), (int)(rt4.right+35*xPix), (int)(rt1.bottom));
rt6.SetRect((int)(rt5.right+nTextAdd), (int)(rt1.top), (int)(rc.right), (int)(rt1.bottom));
for(int i=0;i<nItem; i++)
{
ListView_GetItemText(hList, i+iStart, 2, szID, 128);
ListView_GetItemText(hList, i+iStart, 3, szPrice, 10);
ListView_GetItemText(hList, i+iStart, 4, szSpec, 10);
ListView_GetItemText(hList, i+iStart, 5, szColor,10);
ListView_GetItemText(hList, i+iStart, 6, szWeight,10);
ListView_GetItemText(hList, i+iStart, 7, szUnit,4);
memDC.DrawText(szID, &rt1, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szPrice, &rt2, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szSpec, &rt3, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szColor, &rt4, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szWeight, &rt5, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szUnit, &rt6, 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(rt5.right, rt1.top);
memDC.LineTo(rt5.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;
rt6.top = rt1.top;
rt6.bottom = rt1.bottom;
if((i+iStart+1)>=nCountItem)
break;
}
//结尾
memDC.MoveTo(rc.left, (int)(rtSupp.bottom));
memDC.LineTo(rc.left, rc.top);
memDC.MoveTo(rc.right, (int)(rtSupp.bottom));
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 + -