創造性問題:抓取打印預覽窗口中的完整內容并存為一張圖片 |
答題得分者是:jieshu
|
longjibo
一般會員 發表:18 回覆:18 積分:12 註冊:2002-11-08 發送簡訊給我 |
請問:
如何抓取一個打印預覽窗口中的完整內容(打印預覽窗口有滾動條),當前窗口只顯示了一部分內容用,需要通過滾動條才可能看到剩下的內容。
在使用以下指令時只能得到當前窗口內可見內容,其徐部分無法抓取。
請問如何將**當前預覽窗口內所有內容作為一個完整的圖像**抓下來。
代碼如下:
qrpreview1:tqrpreview;//打印預覽窗口名稱為qrpreview1
Fullscreen:Tbitmap;
FullscreenCanvas:TCanvas;
dc:HDC;
//------------------------------------------------------------
DC := GetDC (qrpreview1.handle); //取得該窗口的DC
FullscreenCanvas := TCanvas.Create; //創建CANVAS對象
FullscreenCanvas.Handle := DC; //将預覽窗口的DC赋给HANDLE
Fullscreen.Canvas.CopyRect(0,0,qrpreview1.width,qrpreview1.height);
FullscreenCanvas.Free;
ReleaseDC (0,DC);
fullscreen.savetofile('c:\temp\capture001') ;
| ||
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 請問: 如何抓取一個打印預覽窗口中的完整內容(打印預覽窗口有滾動條),當前窗口只顯示了一部分內容用,需要通過滾動條才可能看到剩下的內容。 在使用以下指令時只能得到當前窗口內可見內容,其徐部分無法抓取。 請問如何將**當前預覽窗口內所有內容作為一個完整的圖像**抓下來。 代碼如下: qrpreview1:tqrpreview;//打印預覽窗口名稱為qrpreview1 Fullscreen:Tbitmap; FullscreenCanvas:TCanvas; dc:HDC; //------------------------------------------------------------ DC := GetDC (qrpreview1.handle); //取得該窗口的DC FullscreenCanvas := TCanvas.Create; //創建CANVAS對象 FullscreenCanvas.Handle := DC; //将預覽窗口的DC赋给HANDLE Fullscreen.Canvas.CopyRect(0,0,qrpreview1.width,qrpreview1.height); FullscreenCanvas.Free; ReleaseDC (0,DC); fullscreen.savetofile('c:\temp\capture001') ;請試試QuickRep1.QRPrinter.GetPage他得到的就是一張圖,搜尋看看吧!
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |