請問如何將 TreeView 視窗之全部內容列印出? |
尚未結案
|
nivek
一般會員 發表:9 回覆:15 積分:4 註冊:2004-04-13 發送簡訊給我 |
|
g6101
高階會員 發表:22 回覆:129 積分:110 註冊:2002-06-15 發送簡訊給我 |
引言: 是否可將 TreeView 轉換為其物件,或是轉換為圖檔.謝謝~nivek您好: 請參考以下的程式碼 Graphics::TBitmap *bmp = new Graphics::TBitmap; //取得TreeView1(DC)handle HDC hDC = GetDC(TreeView1->Handle); //設定圖檔的寬/高(來源為TreeView1) bmp->Width = TreeView1->Width; bmp->Height = TreeView1->Height; //複製TreeView1畫面至點陣圖元件上 BitBlt(bmp->Canvas->Handle,0,0,bmp->Width,bmp->Height,hDC,0,0,SRCCOPY); //將點陣圖元件指派給TImage元件 Image1->Picture->Bitmap = bmp; //完成抓取TreeView1畫面後,釋放(DC)handle ReleaseDC(bmp->Canvas->Handle,hDC); //釋放點陣圖元件 delete bmp;希望對你有幫助 |
nivek
一般會員 發表:9 回覆:15 積分:4 註冊:2004-04-13 發送簡訊給我 |
引言:引言: 是否可將 TreeView 轉換為其物件,或是轉換為圖檔.謝謝~nivek您好: 請參考以下的程式碼Graphics::TBitmap *bmp = new Graphics::TBitmap; //取得TreeView1(DC)handle HDC hDC = GetDC(TreeView1->Handle); //設定圖檔的寬/高(來源為TreeView1) bmp->Width = TreeView1->Width; bmp->Height = TreeView1->Height; //複製TreeView1畫面至點陣圖元件上 BitBlt(bmp->Canvas->Handle,0,0,bmp->Width,bmp->Height,hDC,0,0,SRCCOPY); //將點陣圖元件指派給TImage元件 Image1->Picture->Bitmap = bmp; //完成抓取TreeView1畫面後,釋放(DC)handle ReleaseDC(bmp->Canvas->Handle,hDC); //釋放點陣圖元件 delete bmp;希望對你有幫助 >>< face="Verdana, Arial, Helvetica"> 謝謝你~ |
nivek
一般會員 發表:9 回覆:15 積分:4 註冊:2004-04-13 發送簡訊給我 |
|
g6101
高階會員 發表:22 回覆:129 積分:110 註冊:2002-06-15 發送簡訊給我 |
引言: 是否可將 TreeView 轉換為其物件,或是轉換為圖檔.謝謝~ 謝謝 g6101回覆! 但目前的問題是!視窗大小有限,所以容量較多的,則無法全印! 想說是否能像列印報表之方式,整張列出內容!即時在螢幕上無 顯示之容量,都可列出來~ 謝謝您請參以下(TTreeView)各種資訊取得方法. //取得Item的(Pixels)高度 TRect rt = TreeView1->TopItem->DisplayRect(false); rt.Height(); <-合算TreeView的總高的計算方法如下(含不可見的範圍) 計算圖檔的總高 = rt.Height() * (scroll.nMax 1); //(等同列印的總高度) //取得TreeView可見範的寬度(不含ScrollBar) TreeView1->ClientWidth; //取得TreeView可見範的寬度(含ScrollBar) TreeView1->Width; //取得ScrollBar的相關資訊的方法 SCROLLINFO scroll; //宣告(ScrollBar)結構 memset(&scroll,0,sizeof(SCROLLINFO));//結構初始化 scroll.fMask = SIF_ALL; //取得ScrollBar全部資料的旗標 scroll.cbSize = sizeof(SCROLLINFO); //配置足夠記憶體 GetScrollInfo(TreeView1->Handle,SB_VERT,&scroll);//取得垂直ScrollBar的資訊 //返回值如果是真的將得到以下各種資訊,否則代表ScrollBar沒有出現 scroll.nMax;//總行數 scroll.nPage;//一頁幾行 scroll.nPos;//捲軸的位置 //令垂直ScrollBar向下翻頁 SendMessage(TreeView1->Handle,WM_VSCROLL,SB_PAGEDOWN,0); //請注意!第一頁的最後一行等於第二頁的第一行. //其它控制ScrollBar的方法見(WM_VSCROLL)說明.◎天長地久有時盡,追求知識無絕期! |
nivek
一般會員 發表:9 回覆:15 積分:4 註冊:2004-04-13 發送簡訊給我 |
|
g6101
高階會員 發表:22 回覆:129 積分:110 註冊:2002-06-15 發送簡訊給我 |
|
nivek
一般會員 發表:9 回覆:15 積分:4 註冊:2004-04-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |