要如何從程式中照下整個視窗畫面 |
尚未結案
|
裝傻
一般會員 發表:11 回覆:14 積分:5 註冊:2005-03-17 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
裝傻:參考下面範例: 請注意紅字與藍字區別: //先設定整理Image1圖像 Image1->Picture = NULL; Image1->Align = alNone; Image1->Stretch = false; //儲存捕捉影像的暫時圖像 Graphics::TBitmap *tempBmp = new Graphics::TBitmap(); HDC hdc = NULL; //捕捉範圍的長寬 int x, y; 一: //取得全螢幕的DC handle hdc = ::GetDC(0); x = Screen->Width; y = Screen->Height; 二: //取得Form1的DC handle hdc = ::GetWindowDC(Form1->Handle); x = Form1->Width; y = Form1->Height; //創造一相容於裝置的新圖檔,並指派給tmpBmp handle tempBmp->Handle = ::CreateCompatibleBitmap( hdc, x, y); //將hdc擷取到的內容複製至tempBmp中 ::BitBlt(tempBmp->Canvas->Handle, 0, 0, tempBmp->Width, tempBmp->Height, hdc, 0, 0, SRCCOPY); //將tempBmp傳給Image1中 Image1->Picture->Bitmap = tempBmp; //刪除暫時的tempBmp delete tempBmp; 請參考!Andy Chang
------
Andy Chang |
裝傻
一般會員 發表:11 回覆:14 積分:5 註冊:2005-03-17 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
裝傻:你可以試試,但我覺得效果並不好,有時我要按兩次 才有效果!反正原理就是 模擬按下PrintScrnSysRqr鍵一樣可以不管視窗的大小照下整個影像 #includeAndy Chang 發表人 - andychang1690 於 2005/07/05 12:05:30
------
Andy Chang |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |