在stringgrid控制元件中使文字內容在cell中做到上下居中 (轉)

worldblog發表於2007-12-06
在stringgrid控制元件中使文字內容在cell中做到上下居中 (轉)[@more@]

 

在stringgrid中使文字內容在cell中做到上下居中
Se 2001.4.19

經多次實踐,偶終於找到了解決使文字內容在每個cell單元中上下居中的辦法:
就是利用畫板的draw方法,透過“畫”出文字解決了這個問題。哈,不算是旁門左道吧~
實現非常簡單:

設一全句變數: var Iscentre:boolean;

在需要上下居中顯示文字內容時,用語句:
cells[x,y]:='', 並置Iscentre為真;
(注意:一定要賦空值!! 原因見下) ~~~~~x,y為區域性變數

給Form1上的stringgrid控制元件新增OnDrawCell事件,過程程式碼:
procedure TForm1.StringGrid1DrawCell(Sender: T; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if iscentre then
stringgrid1.Canvas.TextOut(rect.left+14,rect.top+8,'標題居中' );
end; ~~~~~~~~~~~~~~~~~~~~~~~~~
請根據具體設定調節!

因為此事件被觸發的條件,是發生cell被賦值時, 所以必須先將其置空值以觸發Stringgrid
的onDrawCell事件!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-989005/,如需轉載,請註明出處,否則將追究法律責任。

相關文章