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

請問DBGrid是否可以作到這樣的功能。

尚未結案
t0288542
中階會員


發表:216
回覆:254
積分:94
註冊:2004-10-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-29 16:17:01 IP:61.221.xxx.xxx 未訂閱
請問各位。 在網頁上,如果在畫面顯示DBGrid時, 可以作到一列顏色為白下一列顏色為藍色。 在Delphi中DBGrid可以作到這樣的功能嗎。 麻煩大家。謝謝。
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-29 16:40:59 IP:218.15.xxx.xxx 未訂閱
您好: 当然可以,参考: http://delphi.ktop.com.tw/topic.php?topic_id=19121 http://delphi.ktop.com.tw/topic.php?topic_id=25332
 procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
var
  Canvas: TCanvas;
begin
  Canvas := (Sender as TDBGrid).Canvas;
  if((Field.DataSet.RecNo mod 2)=0) then
    Canvas.Brush.Color := clwhite
  else
    Canvas.Brush.Color := clBlue;
  Canvas.FillRect(Rect);
  DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;
查询“DBGrid”有很多相关的资讯~~ <> ============================ 为什么经过多年以后,得失的过程如此冷漠 ============================ 發表人 -
t0288542
中階會員


發表:216
回覆:254
積分:94
註冊:2004-10-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-05 09:58:51 IP:61.221.xxx.xxx 未訂閱
謝謝您。 目前功能有出來,但是如果設為'白色'和'淡藍色'時, 當我點選某一筆時,字是白色,如該列為白色, 則字就看不到,可否當使用者點選時,字統一顏色為'黑色' 以下,為我程式部份。 procedure TFACOAM04.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var Canvas: TCanvas; begin Canvas := (Sender as TDBGrid).Canvas; if((Column.Field.DataSet.RecNo mod 2)=0) then Canvas.Brush.Color := clWindow else Canvas.Brush.Color := clInactiveCaptionText; Canvas.FillRect(Rect); DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State); end; 謝謝。
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-05 10:24:26 IP:218.15.xxx.xxx 未訂閱
您好:我另给你的两个链接其中天使大大的实例中,有介绍到改变字体颜色的啊,您可以去看看,小弟略作修改,看是不是您所要的
 
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  Canvas: TCanvas;
begin
  Canvas := (Sender as TDBGrid).Canvas;
  if((Column.Field.DataSet.RecNo mod 2)=0) then
    begin
      Canvas.Brush.Color := clWindow;
      Canvas.Font.Color :=Clblack;
    end
  else
    begin
      Canvas.Brush.Color := clInactiveCaptionText;
      Canvas.Font.Color :=Clblack; 
    end;
    Canvas.FillRect(Rect);
    DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State);
end;
============================ 为什么经过多年以后,得失的过程如此冷漠 ============================
系統時間:2024-11-23 5:45:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!