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

dbgrid所選中資料列的顏色如何設定?

尚未結案
zhong
一般會員


發表:46
回覆:17
積分:12
註冊:2004-08-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-07 19:49:19 IP:59.37.xxx.xxx 未訂閱
dbgrid中設定所選資料列顏色及選中字體顏色的屬性是哪一個?
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-07 20:13:31 IP:202.39.xxx.xxx 未訂閱
參考: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40353    -- 分擔可以輕省, 分享帶來喜樂! 發表人 - hagar 於 2005/04/07 20:15:35
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-07 23:55:33 IP:219.86.xxx.xxx 未訂閱
沒有。 一般選擇資料列的顏色及文字顏色,是引用 clHighlight及clHighlightText。 因此若要設定: 1. 更改 clHighlight及clHighlightText 系統顏色。    不過一改全部都改。不是很好! 2. 在DrawColumnCell 自己畫。
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
const
  AlignFlags : array [TAlignment] of Integer =
    ( DT_LEFT or DT_WORDBREAK or DT_EXPANDTABS or DT_NOPREFIX,
      DT_RIGHT or DT_WORDBREAK or DT_EXPANDTABS or DT_NOPREFIX,
      DT_CENTER or DT_WORDBREAK or DT_EXPANDTABS or DT_NOPREFIX );
  RTL: array [Boolean] of Integer = (0, DT_RTLREADING);
var
  ARect : TRect;
begin
  if gdSelected in State then
  begin
    ARect := Rect;
    ARect.TOP := ARect.TOP   2;
    
    DBGrid1.Canvas.Brush.Color := ClRed; {欲設定的底色}
    DBGrid1.Canvas.Font.Color  := ClWhite;{欲設定的字體色}
    DBGrid1.Canvas.FillRect(Rect);        DrawText(DBGrid1.Canvas.Handle
            ,PChar(Column.Field.AsString)
            ,Length(Column.Field.AsString)
            ,ARect
            ,AlignFlags[Column.Alignment] or RTL[IsRightToLeft]);
  end;
end;
參考參考吧!
系統時間:2024-11-28 0:45:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!