翻轉90度列印StringGrid |
答題得分者是:taishyang
|
deng_ss
一般會員 發表:1 回覆:2 積分:0 註冊:2003-12-03 發送簡訊給我 |
如提
小弟用的是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 發送簡訊給我 |
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 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
deng_ss
一般會員 發表:1 回覆:2 積分:0 註冊:2003-12-03 發送簡訊給我 |
阿!...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;
希望這次表達的夠清楚< >
還請各位大大幫幫忙...感謝< >
------
我很嫩 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |