📄 dlgprint.cpp
字号:
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.DrawText("商品编号", &rt6, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
break ;
case 2:
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);
break ;
case 3:
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.DrawText("应退金额", &rt6, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
break ;
}
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(rc.left, rt1.bottom);
memDC.LineTo(rc.right, rt1.bottom);
TCHAR szID[32]={0}, szName[16]={0}, szSex[8]={0}, szZY[32]={0}, szNJ[32]={0}, szBJ[32]={0};
rc.SetRect(nLeft, nTop+fAdd, nRight, nTop+2*fAdd);
rt1.SetRect(nLeft+nTextAdd, rc.top, nLeft+20*xPix, rc.bottom); //
rt2.SetRect(rt1.right+nTextAdd, rt1.top, rt1.right + 25*xPix, rt1.bottom); //
rt3.SetRect(rt2.right+nTextAdd, rt1.top, rt2.right + 10*xPix, rt1.bottom); //
rt4.SetRect(rt3.right+nTextAdd, rt1.top, rt3.right + 25*xPix, rt1.bottom); //
rt5.SetRect(rt4.right+nTextAdd, rt1.top, rt4.right + 25*xPix, rt1.bottom); //
rt6.SetRect(rt5.right+nTextAdd, rt1.top, rc.right, rt1.bottom); //
int nCountItem = ListView_GetItemCount(hList);
for(int i=0;i<nItem; i++)
{
ListView_GetItemText(hList, i+iStart, 0, szID, 32);
ListView_GetItemText(hList, i+iStart, 1, szName, 16);
ListView_GetItemText(hList, i+iStart, 2, szSex, 8);
ListView_GetItemText(hList, i+iStart, 3, szZY, 32);
ListView_GetItemText(hList, i+iStart, 4, szNJ, 32);
ListView_GetItemText(hList, i+iStart, 5, szBJ, 32);
memDC.DrawText(szID, &rt1, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szName, &rt2, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szSex, &rt3, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szZY, &rt4, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szNJ, &rt5, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szBJ, &rt6, DT_LEFT | 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(rt6.right, rt1.top);
// memDC.LineTo(rt6.right, rt1.bottom);
memDC.MoveTo(rc.left, rt1.bottom);
memDC.LineTo(rc.right, rt1.bottom);
rc.top += fAdd;
rc.bottom += 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, nTop);
memDC.LineTo(rc.left, rc.top);
memDC.MoveTo(rc.right, 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, B5_W*xPix, B5_H*yPix);
memDC.Rectangle(&rc);
memDC.SelectObject(hPenOld);
//标题
oldfont = memDC.SelectObject(&TitleFont);
int nItem = B5_OTHERLINE;
if(nCurPage == 1)
{
nItem = B5_ONELINE;
rc.SetRect(0, yPix*10, B5_W*xPix, yPix*20);
memDC.DrawText(szTitle, &rc, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
}
//细节
memDC.SelectObject(&DetailFont);
rc.SetRect(nLeft, nTop, nRight, nTop+fAdd);
//上横线
memDC.MoveTo(rc.left, rc.top);
memDC.LineTo(rc.right, rc.top);
rt1.SetRect(nLeft, nTop, nLeft+20*xPix, nTop+fAdd); //入库单号/退货单号/销售单号
rt2.SetRect(rt1.right, rt1.top, rt1.right + 25*xPix, rt1.bottom); //供应商/客户/消费者
rt3.SetRect(rt2.right, rt1.top, rt2.right + 10*xPix, rt1.bottom); //操作员
rt4.SetRect(rt3.right, rt1.top, rt3.right + 25*xPix, rt1.bottom); //折扣
rt5.SetRect(rt4.right, rt1.top, rt4.right + 25*xPix, rt1.bottom); //总计
rt6.SetRect(rt5.right, rt1.top, rc.right, rt1.bottom); //应付金额
switch(m_nCxSelected)
{
case 1:
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.DrawText("商品编号", &rt6, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
break ;
case 2:
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);
break ;
case 3:
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.DrawText("应退金额", &rt6, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
break ;
}
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(rc.left, rt1.bottom);
memDC.LineTo(rc.right, rt1.bottom);
TCHAR szID[32]={0}, szName[16]={0}, szSex[8]={0}, szZY[32]={0}, szNJ[32]={0}, szBJ[32]={0};
rc.SetRect(nLeft, nTop+fAdd, nRight, nTop+2*fAdd);
rt1.SetRect(nLeft+nTextAdd, rc.top, nLeft+20*xPix, rc.bottom); //
rt2.SetRect(rt1.right+nTextAdd, rt1.top, rt1.right + 25*xPix, rt1.bottom); //
rt3.SetRect(rt2.right+nTextAdd, rt1.top, rt2.right + 10*xPix, rt1.bottom); //
rt4.SetRect(rt3.right+nTextAdd, rt1.top, rt3.right + 25*xPix, rt1.bottom); //
rt5.SetRect(rt4.right+nTextAdd, rt1.top, rt4.right + 25*xPix, rt1.bottom); //
rt6.SetRect(rt5.right+nTextAdd, rt1.top, rc.right, rt1.bottom); //
int nCountItem = ListView_GetItemCount(hList);
for(int i=0;i<nItem; i++)
{
ListView_GetItemText(hList, i+iStart, 0, szID, 32);
ListView_GetItemText(hList, i+iStart, 1, szName, 16);
ListView_GetItemText(hList, i+iStart, 2, szSex, 8);
ListView_GetItemText(hList, i+iStart, 3, szZY, 32);
ListView_GetItemText(hList, i+iStart, 4, szNJ, 32);
ListView_GetItemText(hList, i+iStart, 5, szBJ, 32);
memDC.DrawText(szID, &rt1, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szName, &rt2, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szSex, &rt3, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szZY, &rt4, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szNJ, &rt5, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
memDC.DrawText(szBJ, &rt6, DT_LEFT | 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(rt6.right, rt1.top);
// memDC.LineTo(rt6.right, rt1.bottom);
memDC.MoveTo(rc.left, rt1.bottom);
memDC.LineTo(rc.right, rt1.bottom);
rc.top += fAdd;
rc.bottom += 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, nTop);
memDC.LineTo(rc.left, rc.top);
memDC.MoveTo(rc.right, 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 + -