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

請DBGrid的背景顏色問題

答題得分者是:Rain
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-11 19:59:06 IP:63.84.xxx.xxx 未訂閱
請教各位前輩﹒ 使用DBGrid中該如何做到兩種背景顏色的顯示呢﹖比如說單數行(1.3.5...)背景色為白色﹐雙數行(2.4.6...)背景色為灰色﹖ 如果說要做更多種背景顏色的顯示又該如何做呢﹖比如說依序背景色為白色﹐灰色﹐黃色這三種顏色做循環﹐那又該如何處理呢﹖ 謝謝﹗ 努力,相信會獲得美麗! 忻晟
------
忻晟
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-11 21:54:15 IP:61.218.xxx.xxx 未訂閱
cashxin2002, 您好 請參考以下連結資料 1.Delphi版 for 站長 http://delphi.ktop.com.tw/topic.php?topic_id=19121 2.BCB版 for axsoft版主 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26419 ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-11 22:03:24 IP:63.84.xxx.xxx 未訂閱
引言: cashxin2002, 您好 請參考以下連結資料 1.Delphi版 for 站長 http://delphi.ktop.com.tw/topic.php?topic_id=19121 2.BCB版 for axsoft版主 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26419 ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
感謝tech_state版主的指點﹒ 剛才還有提到您這個五星女將 不過小弟想要的效果是整欄的底色都變化﹐而不是因內容改做以變化﹒謝謝您﹗ 努力,相信會獲得美麗! 忻晟
------
忻晟
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-11 22:18:24 IP:61.218.xxx.xxx 未訂閱
cashxin2002, 您好 其實axsoft版主提供的BCB版本就是您所提的需求, 只是我不懂Delphi無法將BCB的語法改為Delphi, 只能提供資料, 改code的部份就只能請懂BCB也懂Delphi的前輩先進們幫忙了。    以下是我用BCB根據axsoft版主提供的資料做出來的結果。 『取之於斯,用之於斯』。 我只是在KTop得到許多前輩先進們的知識與經驗, 再把自己所知的貢獻出來罷了。 ================================= <>涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 <>是非終日有,不聽自然無 <>天下本無事,庸人自擾之 發表人 -
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-11 22:40:20 IP:63.84.xxx.xxx 未訂閱
謝謝tech_state版主﹒ 小弟需要的就是這種效果﹐是否還可依序背景色為白色﹐灰色﹐黃色這三種顏色做循環﹒請各位前輩指點一下相關的Delphi程式碼﹒ 謝謝﹗ 努力,相信會獲得美麗! 忻晟
------
忻晟
Rain
資深會員


發表:31
回覆:236
積分:268
註冊:2003-02-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-12 10:32:02 IP:220.160.xxx.xxx 未訂閱
OnDrawColumnCell:    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  I: Integer;
begin
  with Sender as TDBGrid do
  begin
    I := (DataSource.DataSet.RecNo-1) mod 3;
    if I = 0 then Canvas.Brush.Color := clWhite;
    if I = 1 then Canvas.Brush.Color := clGray;
    if I = 2 then Canvas.Brush.Color := clYellow;
    DefaultDrawColumnCell(Rect, DataCol, Column, State);
  end;
end;
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-12 11:02:01 IP:63.84.xxx.xxx 未訂閱
引言:
OnDrawColumnCell:    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  I: Integer;
begin
  with Sender as TDBGrid do
  begin
    I := (DataSource.DataSet.RecNo-1) mod 3;
    if I = 0 then Canvas.Brush.Color := clWhite;
    if I = 1 then Canvas.Brush.Color := clGray;
    if I = 2 then Canvas.Brush.Color := clYellow;
    DefaultDrawColumnCell(Rect, DataCol, Column, State);
  end;
end;
感謝Rain前輩﹒ 小弟需要的就是這種效果﹐原來這個功能的程式碼也是寫在DBGrid的重繪功能中的喔﹒ 再次感謝﹗ 努力,相信會獲得美麗! 忻晟
------
忻晟
系統時間:2024-05-10 7:08:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!