線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1082
推到 Plurk!
推到 Facebook!

翻轉90度列印StringGrid

答題得分者是:taishyang
deng_ss
一般會員


發表:1
回覆:2
積分:0
註冊:2003-12-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-10 14:23:00 IP:61.223.xxx.xxx 未訂閱
如提 小弟用的是TAdvStringGrid 2.6 現在在做翻轉列印的功能 但是TAdv.提供的Printsetting和PrintPreview都不提供這樣的功能 我有爬過文,試過一篇"Timage 如何做到放大、縮小、旋轉?" 我從StringGrid->Canvas->Pixels去著手,但是大失敗@@ 我有試過建一個翻轉後的表格,然後把每個Cells對應的值從新填過 但這方法不僅煩,而且會有文字向下對齊,向中對齊的問題,而且還牽涉 MergeCells一些設定的問題....反正一堆有的沒的設定, 而且切換PrintSetting->Grid和PrintPreview->Grid也會怪怪的(fit to page) 這個我寫到一半不想再寫了......~流淚~ 請問有沒有什麼好方法 如設定紙張轉向,或把StringGrid變成圖片再轉向 拜託各位大大幫忙....thanks
------
我很嫩
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-10 14:41:33 IP:140.135.xxx.xxx 未訂閱
deng_ss您好: 您可以利用下面的方式將StringGrid變成圖片,翻轉站上已有範例 < class="code"> Graphics::TBitmap*BMP =new Graphics::TBitmap(); TCanvas *MyCanvas= new TCanvas;; TRect rect = StringGrid1->ClientRect; HDC dc = GetDC(StringGrid1->Handle); MyCanvas->Handle = dc; BMP->Width = rect.Right - rect.Left; BMP->Height = rect.Bottom - rect.Top; BMP->Canvas->CopyRect(rect,MyCanvas,rect); Image1->Picture->Assign(BMP); delete MyCanvas; delete BMP; 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~ 發表人 -
deng_ss
一般會員


發表:1
回覆:2
積分:0
註冊:2003-12-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-11 18:25:32 IP:61.223.xxx.xxx 未訂閱
不好意思想再問一下 就是圖檔我已經產生了 但我是使用TAdvPrintSettingDialog元件 他內定的來源一定是TAdvStringGrid 所以我要怎麼把翻轉完的圖形,再覆蓋回原來的StringGrid 使得我用PrintSettingDialog時可以Preview到翻轉後的圖形 拜託....感謝^^ 我很嫩
------
我很嫩
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-11 18:37:08 IP:140.135.xxx.xxx 未訂閱
deng_ss您好:
引言: 但我是使用TAdvPrintSettingDialog元件 他內定的來源一定是TAdvStringGrid 所以我要怎麼把翻轉完的圖形,再覆蓋回原來的StringGrid
抱歉,我沒用過您說的那個元件(TAdvPrintSettingDialog),幫不上忙 且不懂您說的覆蓋原來的 > <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
deng_ss
一般會員


發表:1
回覆:2
積分:0
註冊:2003-12-03

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-11 23:20:15 IP:61.223.xxx.xxx 未訂閱
阿!...Sorry好像說的只有我自己看得懂 我試著說詳細一點好了 class="code"> int Hoogte=MainGrid->Width; int Breedte=MainGrid->Height; for (int x=0; x Canvas->Pixels[y][Hoogte-1-x]= MainGrid->Canvas->Pixels[x][y]; } } PrintSettingDialog->Grid=TempGrid; 希望這次表達的夠清楚< > 還請各位大大幫幫忙...感謝< >
------
我很嫩
系統時間:2024-05-06 0:30:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!