Panel 抓圖 |
尚未結案
|
wsxcv123
一般會員 發表:36 回覆:27 積分:12 註冊:2004-11-10 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
參考下面的範例 原始視窗圖如下, 共有7個Panel
抓取的結果
void __fastcall TForm1::Button1Click(TObject *Sender) { TImage* ImageBuffer = new TImage(this); __try { ImageBuffer->Width = Width; ImageBuffer->Height = Form1->VertScrollBar->Range; TRect rect(0, 0, ImageBuffer->Width, ImageBuffer->Height); // 填上Form1的背影色 ImageBuffer->Canvas->Brush->Color = Color; ImageBuffer->Canvas->FillRect(rect); for (int i = 0; i < ControlCount; i++) { AnsiString szClassName = Controls[i]->ClassName(); if (szClassName == "TPanel") { ((TPanel*)Controls[i])->PaintTo(ImageBuffer->Canvas->Handle, ((TPanel*)Controls[i])->Left, ((TPanel*)Controls[i])->Top); } } } __finally { ImageBuffer->Picture->SaveToFile("c:\\Result.bmp"); delete ImageBuffer; } } |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |