全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1151
推到 Plurk!
推到 Facebook!

讓StringGrid上色

尚未結案
peiyao
一般會員


發表:41
回覆:23
積分:12
註冊:2003-07-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-27 14:36:53 IP:163.28.xxx.xxx 未訂閱
請問~如何讓StringGrid的列上色~ 讓StringGrid一列一列的顏色不同~~ 謝謝~~~
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-27 14:50:17 IP:147.8.xxx.xxx 未訂閱
FAQ< > <>> < > < href="http://delphi.ktop.com.tw/link.asp?topic_id=40704">http://delphi.ktop.com.tw/link.asp?topic_id=40704 ... many more ...
mathewzhao
中階會員


發表:121
回覆:164
積分:67
註冊:2003-04-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-28 12:28:13 IP:219.144.xxx.xxx 未訂閱
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
系統時間:2024-11-23 0:27:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!