讓StringGrid上色 |
尚未結案
|
peiyao
一般會員 發表:41 回覆:23 積分:12 註冊:2003-07-21 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
mathewzhao
中階會員 發表:121 回覆:164 積分:67 註冊:2003-04-04 發送簡訊給我 |
Hi!peiyao您好! 請您參考下面的方法,看是否對您有幫助.
//下面的方法同時改變了StringGrid資料的Alignment,請注意.
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); FUNCTION XCenter (rect: TRect; canvas: TCanvas; s: STRING): INTEGER; BEGIN RESULT := ((rect.Left rect.Right) - canvas.TextWidth(s)) DIV 2 END {XCenter}; FUNCTION YCenter (rect: TRect; canvas: TCanvas; s: STRING): INTEGER; BEGIN RESULT := ((rect.Top rect.Bottom) - canvas.TextHeight(s)) DIV 2 END {YCenter}; begin with (Sender as TStringGrid) do begin if Odd(ARow) then begin Canvas.Brush.Color:=clwhite; end else begin if Arow = 0 then Canvas.Brush.Color:=clBtnFace else Canvas.Brush.Color:=clYellow; end; Canvas.TextRect(Rect,XCenter(Rect, Canvas, cells[acol,arow]),YCenter(Rect, Canvas, cells[acol,arow]),cells[acol,arow]); Canvas.FrameRect(Rect); end; end;發表人 - mathewzhao 於 2003/11/28 12:31:10 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |