在visual c++中,應用程式通常是使用cview中提供的列印功能,在onprint()或ondraw()中向印表機輸出。但是對於對話方塊中的資料,或基於對話方塊的程式,列印成了一件繁瑣的工作。
該段**向使用者提供了printlistctrl()函式,用於列印使用者在對話方塊或formview中的clistctrl(控制項必須是report view 形式的)控制項中的內容。在列印過程中,根據控制項中每列標題的寬度計算列印輸出時各列的寬度,並根據資料的行數自動分頁。在本**的基礎上稍作修改,就可以適應各種資料的輸出。
(用法:)該段**使用visual c++ 6.0, 使用windows api來完成所需功能,使用時將本文本作為標頭檔案使用。列印時直接呼叫printlistctrl(),函式的引數為所要列印的listctrl。?聯絡方法:[email protected].**
*///該結構用於儲存各列的資訊
typedef struct tagcolatt
colatt;
bool printlistctrl(clistctrl &list)
}
docinfo di;
di.cbsize = sizeof(docinfo);
di.lpszdo**ame = "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 nmaxlineperpage)
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;
如何在VC中使用DbgViewer列印資訊
dbgviewer是乙個很好的列印工具,在mfc下,直接使用outputdebugstring函式就可以列印資訊了,例 退出系統 outputdebugstring 正在退出系統.如果你使用的是win7系統,那麼得更改下登錄檔才能正常顯示列印,更改的登錄檔內如下 windows registry e...
如何在VC6 MFC中使用GDI
gdi 可應用於二維向量圖象,柵格圖象及排版,是為c c 程式設計師而設計的表現為c 類而存在的介面,能用於一切基於windows的應用中。作為gdi的後繼者,gdi 在gdi中增加了新功能,如文字的反鋸齒,漸變筆刷,alpha溶合 也優化了gdi許多已有的功能。此外,gdi 改變了程式設計模式,使...
如何在VC6中使用SGI STL
首先到 sgistl 216k 的zip 包,真是個了不起的傑作 網上都是溢美之詞。將 stl.zip 解壓到乙個目錄,比如 c sgistl 然後在 vc6的 ide環境下,tools options directories include files 將c sgistl 你解壓的目錄 新增進去,...