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

📄 mainfrm.cpp

📁 提供数据的实时下载和定时下载
💻 CPP
📖 第 1 页 / 共 3 页
字号:
//		if(memDC.StartDoc(&di)<0)
//		{
//			::MessageBox(hWnd, "连接到打印机失败!", "错误", MB_ICONSTOP);
//		}
//		else
//		{
//			iStart = 0;
//			nTop = 25*yPix;		//第一页最上线
//			for(int iTotalPages = 1; iTotalPages<=nMaxPage; iTotalPages++)
//			{
//				int nCurPage = iTotalPages;
//				csRFinality.Format("第 %i 页/共 %i 页", nCurPage, nMaxPage);
//				time=CTime::GetCurrentTime();
//				csLFinality = time.Format("报表日期:%Y-%m-%d");
//
//				if(nCurPage != 1)
//					nTop = 25*yPix-fAdd;	//非第一页最上线
//				if(nCurPage == 2)
//					iStart = B5_ONELINE;
//				if(nCurPage>2)
//					iStart = B5_ONELINE+(nCurPage - 2)*B5_OTHERLINE;
//				//开始页
//				if(memDC.StartPage() < 0)
//				{
//					::MessageBox(hWnd, _T("打印失败!"), "错误", MB_ICONSTOP);
//					memDC.AbortDoc();
//					return;
//				}
//				else
//				{
//					//打印
//					//标题
//					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);				//班级
//					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);
//
//					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+35*xPix, nTop+fAdd);					//时间
		rt2.SetRect(rt1.right, rt1.top, rt1.right + 15*xPix, rt1.bottom);	//车站名
		rt3.SetRect(rt2.right, rt1.top, rt2.right + 15*xPix, rt1.bottom);	//车次号
		rt4.SetRect(rt3.right, rt1.top, rt3.right + 15*xPix, rt1.bottom);	//机车号
		rt5.SetRect(rt4.right, rt1.top, rt4.right + 15*xPix, rt1.bottom);	//机车类型
		rt6.SetRect(rt5.right, rt1.top, rt5.right + 15*xPix, rt1.bottom);	//公里标
		rt7.SetRect(rt6.right, rt1.top, rt6.right + 12*xPix, rt1.bottom);	//换长
		rt8.SetRect(rt7.right, rt1.top, rt7.right + 10*xPix, rt1.bottom);	//总重
		rt9.SetRect(rt8.right, rt1.top, rt8.right + 10*xPix, rt1.bottom);	//辆数
		rt10.SetRect(rt9.right, rt1.top, rt9.right + 18*xPix, rt1.bottom);	//信号机类型
		rt11.SetRect(rt10.right, rt1.top, rc.right, 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.DrawText("公里标", &rt6, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
		memDC.DrawText("换长", &rt7, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
		memDC.DrawText("总重", &rt8, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
		memDC.DrawText("辆数", &rt9, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
		memDC.DrawText("信号机类型", &rt10, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
		memDC.DrawText("信息格式", &rt11, 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(rt7.right, rt1.top);
		memDC.LineTo(rt7.right, rt1.bottom);
		memDC.MoveTo(rt8.right, rt1.top);
		memDC.LineTo(rt8.right, rt1.bottom);
		memDC.MoveTo(rt9.right, rt1.top);
		memDC.LineTo(rt9.right, rt1.bottom);
		memDC.MoveTo(rt10.right, rt1.top);
		memDC.LineTo(rt10.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 szTime[32]={0}, szStnNm[16]={0}, szTrain[8]={0}, szJcNum[32]={0}, szJcType[32]={0}, 
			szGlb[32]={0}, szHc[32]={0}, szTotalWeight[32]={0}, szLs[32]={0}, szSingSort[16]={0}, szDataVer[32]={0};

		rc.SetRect(nLeft, nTop+fAdd, nRight, nTop+2*fAdd);
		rt1.SetRect(nLeft+nTextAdd, rc.top, nLeft+35*xPix, rc.bottom);				//时间
		rt2.SetRect(rt1.right+nTextAdd, rt1.top, rt1.right + 15*xPix, rt1.bottom);	//车站名
		rt3.SetRect(rt2.right+nTextAdd, rt1.top, rt2.right + 15*xPix, rt1.bottom);	//车次号
		rt4.SetRect(rt3.right+nTextAdd, rt1.top, rt3.right + 15*xPix, rt1.bottom);	//机车号
		rt5.SetRect(rt4.right+nTextAdd, rt1.top, rt4.right + 15*xPix, rt1.bottom);	//机车类型
		rt6.SetRect(rt5.right+nTextAdd, rt1.top, rt5.right + 15*xPix, rt1.bottom);  //公里标
		rt7.SetRect(rt6.right+nTextAdd, rt1.top, rt6.right + 12*xPix, rt1.bottom);	//换长
		rt8.SetRect(rt7.right+nTextAdd, rt1.top, rt7.right + 10*xPix, rt1.bottom);	//总重
		rt9.SetRect(rt8.right+nTextAdd, rt1.top, rt8.right + 10*xPix, rt1.bottom);	//辆数
		rt10.SetRect(rt9.right+nTextAdd, rt1.top, rt9.right + 18*xPix, rt1.bottom);	//信号机类型
		rt11.SetRect(rt10.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, szTime,    32);						
			ListView_GetItemText(hList, i+iStart, 1, szStnNm,   16);
			ListView_GetItemText(hList, i+iStart, 2, szTrain,    8);
			ListView_GetItemText(hList, i+iStart, 3, szJcNum,   32);
			ListView_GetItemText(hList, i+iStart, 4, szJcType,  32);
			ListView_GetItemText(hList, i+iStart, 5, szGlb,     32);
			ListView_GetItemText(hList, i+iStart, 6, szHc,      32);
			ListView_GetItemText(hList, i+iStart, 7, szTotalWeight, 32);
			ListView_GetItemText(hList, i+iStart, 8, szLs,      32);
			ListView_GetItemText(hList, i+iStart, 9, szSingSort,32);
			ListView_GetItemText(hList, i+iStart, 10,szDataVer, 32);			
			
			memDC.DrawText(szTime,    &rt1, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
			memDC.DrawText(szStnNm,   &rt2, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
			memDC.DrawText(szTrain,   &rt3, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
			memDC.DrawText(szJcNum,   &rt4, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
			memDC.DrawText(szJcType,  &rt5, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
			memDC.DrawText(szGlb,     &rt6, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
			memDC.DrawText(szHc,      &rt7, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
			memDC.DrawText(szTotalWeight, &rt8, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
			memDC.DrawText(szLs,      &rt9, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
			memDC.DrawText(szSingSort,&rt10, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
			memDC.DrawText(szDataVer, &rt11, 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(rt7.right, rt1.top);
			memDC.LineTo(rt7.right, rt1.bottom);
			memDC.MoveTo(rt8.right, rt1.top);
			memDC.LineTo(rt8.right, rt1.bottom);
			memDC.MoveTo(rt9.right, rt1.top);
			memDC.LineTo(rt9.right, rt1.bottom);
			memDC.MoveTo(rt10.right, rt1.top);
			memDC.LineTo(rt10.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;
			rt7.top = rt1.top;
			rt7.bottom = rt1.bottom;
			rt8.top = rt1.top;
			rt8.bottom = rt1.bottom;
			rt9.top = rt1.top;
			rt9.bottom = rt1.bottom;
			rt10.top = rt1.top;
			rt10.bottom = rt1.bottom;
			rt11.top = rt1.top;
			rt11.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 + -