亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? printlist.h

?? 成績管理系統
?? H
字號:
/*如何在VC++中使用API直接打印 

  (說明:)這一段代碼,用以演示《如何在VC++中使用API直接打印》。并且該段代碼可以直接嵌入各種工程中,有實際使用的價值。
  
	(用途:)在Visual C++中,應用程序通常是使用CView中提供的打印功能,在OnPrint()或OnDraw()中向打印機輸出。但是對于對話框中的數據,或基于對話框的程序,打印成了一件繁瑣的工作。
	
	  該段代碼向用戶提供了PrintListCtrl()函數,用于打印用戶在對話框或FormView中的CListCtrl(控件必須是Report View 形式的)控件中的內容。在打印過程中,根據控件中每列標題的寬度計算打印輸出時各列的寬度,并根據數據的行數自動分頁。在本代碼的基礎上稍作修改,就可以適應各種數據的輸出。
	  
		(用法:)該段代碼使用Visual C++ 6.0, 使用Windows API來完成所需功能,使用時將本文本作為頭文件使用。打印時直接調用PrintListCtrl(),函數的參數為所要打印的ListCtrl。?聯系方法:lff@mail.wl.xj.cn
*/
///該結構用于存儲各列的信息
typedef struct tagColAtt
{
	int nColIndex;
	CString strColText;
	int nPrintX;
	int nSubItemIndex;
}
COLATT;

BOOL PrintListCtrl(CListCtrl &list)
{
	PRINTDLG pd;
	pd.lStructSize = sizeof(PRINTDLG);
	pd.Flags = PD_RETURNDC;
	pd.hDC = NULL;
	pd.hwndOwner = NULL;
	pd.hInstance = NULL;
	pd.nMaxPage = 1;
	pd.nMinPage = 1;
	pd.nFromPage = 1;
	pd.nToPage = 1;
	pd.nCopies = 1;
	pd.hDevMode = NULL;
	pd.hDevNames = NULL;
	//顯示打印對話框,由用戶來設定紙張大小等。
	if(!PrintDlg(&pd)) return FALSE;
	ASSERT(pd.hDC!=NULL);
	int nHorRes = GetDeviceCaps(pd.hDC, HORZRES);
	int nVerRes = GetDeviceCaps(pd.hDC, VERTRES);
	int nXMargin = 2;
	int nYMargin = 2;
	TEXTMETRIC tm;
	GetTextMetrics(pd.hDC, &tm);
	int nCharHeight = tm.tmHeight;
	int nCharWidth = tm.tmAveCharWidth;
	CHeaderCtrl* pHeader = list.GetHeaderCtrl();
	//獲得行,列的個數
	int nColCount = pHeader->GetItemCount();
	int nLineCount = list.GetItemCount();
	int ColOrderArray[100];
	COLATT ca[100];
	list.GetColumnOrderArray(ColOrderArray, nColCount);
	int nColX =nXMargin*nCharWidth;
	//檢索各列的信息,確定列標題的內容長度。
	for(int i =0 ; i< nColCount; i++)
	{
		ca[i].nColIndex = ColOrderArray[i];
		LVCOLUMN lvc;
		char text[100];
		lvc.mask = LVCF_TEXT|LVCF_SUBITEM;
		lvc.pszText = text;
		lvc.cchTextMax = 100;
		list.GetColumn(ca[i].nColIndex, &lvc);
		ca[i].strColText = lvc.pszText;
		ca[i].nSubItemIndex = lvc.iSubItem;
		ca[i].nPrintX = nColX;
		nColX += nCharWidth * strlen(ca[i].strColText);
		if(nColX > nHorRes)
		{
			DeleteDC(pd.hDC);
			AfxMessageBox("字段太多,無法在一行內打印,請試用較大的紙,或橫向打印。");
			return FALSE;
		}
	}
	DOCINFO di;
	di.cbSize = sizeof(DOCINFO);
	di.lpszDocName = "ListCtrl Data Printing";
	di.lpszOutput = (LPTSTR) NULL;
	di.lpszDatatype = (LPTSTR) NULL;
	di.fwType = 0;
	StartDoc(pd.hDC, &di);
	StartPage(pd.hDC);
	//調整各列的寬度,以使各列在后面的打印輸出時更均勻的打印在紙上。
	int space = (nHorRes-nXMargin*nCharWidth-nColX) / (nColCount -1);
	for(i =1; i<nColCount; i++)
	{
		ca[i].nPrintX += i*space;
	}
	//輸出列標題
	for(i =0; i<nColCount; i++)
		TextOut(pd.hDC, ca[i].nPrintX, nYMargin,
		ca[i].strColText, strlen(ca[i].strColText));
	int nMaxLinePerPage = nVerRes/nCharHeight -3;
	int nCurPage =1;
	//輸出各列的數據
	for(i =0; i<nLineCount; i++)
	{
		for(int j =0; j<nColCount; j++)
		{
			if(i+1-(nCurPage-1)*nMaxLinePerPage > nMaxLinePerPage)
			{
				//新的一頁
				EndPage(pd.hDC);
				StartPage(pd.hDC);
				nCurPage ++;
			}
			CString subitem = list.GetItemText(i, ca[j].nSubItemIndex);
			TextOut(pd.hDC, ca[j].nPrintX,nYMargin+(i+1-(nCurPage-1)*nMaxLinePerPage)*nCharHeight,subitem, strlen(subitem));
		}
	}
	EndPage(pd.hDC);
	EndDoc(pd.hDC);
	//打印結束
	DeleteDC(pd.hDC);
	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
水野朝阳av一区二区三区| 日本中文一区二区三区| 久久久久久夜精品精品免费| 4438成人网| 欧美一区二区久久| 欧美精品在线视频| 欧美一级日韩不卡播放免费| 欧美高清视频不卡网| 欧美精品在线观看播放| 欧美一区二区三区四区视频 | 欧美va在线播放| 日韩视频在线一区二区| 欧美一区二区精品在线| 精品日韩成人av| 国产亚洲欧美在线| 国产精品每日更新| 樱花影视一区二区| 婷婷丁香久久五月婷婷| 美女脱光内衣内裤视频久久网站 | 国产偷国产偷精品高清尤物| 欧美韩日一区二区三区四区| 青青草国产成人av片免费| 日本中文一区二区三区| 狠狠网亚洲精品| 国产成人8x视频一区二区| 99免费精品视频| 欧美日韩激情一区| 日韩欧美久久久| 国产欧美日韩综合| 一区二区激情视频| 人禽交欧美网站| 国产99精品在线观看| 色诱视频网站一区| 日韩一区二区三区在线| 国产三级精品三级在线专区| 亚洲欧美电影院| 日本中文字幕不卡| 成人开心网精品视频| 91成人国产精品| 日韩精品在线一区二区| 国产精品入口麻豆九色| 亚洲成人三级小说| 国产一区二区精品久久91| 94-欧美-setu| 日韩欧美中文字幕公布| 中文字幕一区二区三区色视频 | 国产精品1区2区| 91麻豆swag| 日韩欧美一级片| 自拍偷拍国产精品| 秋霞av亚洲一区二区三| 国产999精品久久久久久绿帽| 色欲综合视频天天天| 欧美电影免费观看高清完整版在 | 最新欧美精品一区二区三区| 日韩成人精品在线| 成人av资源网站| 欧美一区二区三区在线观看| 久久99热狠狠色一区二区| 99久久精品国产麻豆演员表| 欧美丰满一区二区免费视频 | 五月婷婷综合网| 成人免费高清在线观看| 在线观看91av| 亚洲视频一区二区在线| 狠狠色丁香久久婷婷综合丁香| 日本二三区不卡| 国产精品沙发午睡系列990531| 免费在线观看一区| 在线视频你懂得一区| 国产午夜亚洲精品午夜鲁丝片| 三级久久三级久久| 色一区在线观看| 国产亚洲精品精华液| 日韩中文字幕一区二区三区| 91美女片黄在线观看91美女| 久久精品在这里| 六月丁香婷婷久久| 欧美日韩另类一区| 亚洲欧洲综合另类在线| 国产精品一区久久久久| 欧美丰满一区二区免费视频| 亚洲精品视频自拍| 成人午夜伦理影院| 久久久午夜精品| 麻豆国产91在线播放| 欧美日韩一区成人| 亚洲一区国产视频| 日本精品一区二区三区四区的功能| 中文av一区二区| 国产91精品露脸国语对白| 欧美mv和日韩mv的网站| 日本伊人午夜精品| 777色狠狠一区二区三区| 一区二区三区四区av| 色综合天天综合| 中文字幕一区二区在线播放| 日韩一区二区三区观看| 亚洲国产精品久久久久婷婷884 | 欧美无乱码久久久免费午夜一区| 日韩一区在线免费观看| 成人午夜av电影| 国产喷白浆一区二区三区| 国产伦精品一区二区三区免费迷| 精品国产伦一区二区三区观看方式| 日本vs亚洲vs韩国一区三区| 91精品国产手机| 美女视频黄 久久| 精品成人a区在线观看| 久久99精品久久久| 欧美videossexotv100| 国精产品一区一区三区mba桃花| 欧美大片在线观看一区二区| 另类的小说在线视频另类成人小视频在线 | 色综合久久久久综合99| 亚洲免费观看高清完整| 欧美午夜精品一区二区三区| 婷婷开心久久网| 日韩限制级电影在线观看| 久久99精品一区二区三区三区| 日韩写真欧美这视频| 国模套图日韩精品一区二区| 久久久99久久| www.亚洲色图| 亚洲一二三专区| 欧美一区二区在线免费播放| 激情综合网激情| 国产精品国产精品国产专区不片| 91麻豆免费看| 五月综合激情日本mⅴ| 精品91自产拍在线观看一区| 国产东北露脸精品视频| 综合色天天鬼久久鬼色| 欧美日韩国产小视频在线观看| 美女一区二区视频| 国产精品乱码一区二三区小蝌蚪| 欧洲精品中文字幕| 欧美日韩在线免费视频| 免费成人av在线播放| 欧美—级在线免费片| 欧美日韩在线直播| 国产露脸91国语对白| 樱花草国产18久久久久| 日韩免费观看高清完整版在线观看| 国产sm精品调教视频网站| 玉足女爽爽91| 欧美电视剧免费全集观看| 99久久99久久久精品齐齐| 亚洲va国产天堂va久久en| 精品国产91乱码一区二区三区| 波多野结衣的一区二区三区| 丝袜美腿成人在线| 欧美国产精品劲爆| 欧美日韩你懂得| 粉嫩av一区二区三区| 五月激情综合网| 日韩一区在线免费观看| 日韩午夜精品电影| 91视频精品在这里| 久久草av在线| 亚洲国产三级在线| 国产欧美精品一区二区三区四区| 欧美日本韩国一区二区三区视频| 成人午夜在线免费| 久久国产精品第一页| 一区二区在线免费| 亚洲国产精品国自产拍av| 日韩一区二区精品| 日本韩国欧美在线| 成人在线一区二区三区| 青草国产精品久久久久久| 亚洲免费观看高清完整版在线 | 日韩高清不卡在线| 亚洲激情自拍视频| 国产日韩欧美精品在线| 欧美一级xxx| 欧美日韩一区中文字幕| 99久久婷婷国产综合精品电影 | 国产美女精品人人做人人爽| 婷婷中文字幕综合| 一区二区三区日本| 自拍偷自拍亚洲精品播放| 久久婷婷国产综合精品青草 | 一区二区三区在线影院| 国产日韩欧美综合一区| 精品国产一区二区三区不卡| 欧美色偷偷大香| 色先锋资源久久综合| 成人免费福利片| 国产精品一级在线| 国产一区二区三区四区在线观看| 日本欧美韩国一区三区| 天堂一区二区在线免费观看| 亚洲一区二区在线视频| 国产成人在线免费观看| 卡一卡二国产精品| 麻豆视频一区二区| 美女视频一区二区三区| 肉丝袜脚交视频一区二区| 亚洲 欧美综合在线网络|