線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4102
推到 Plurk!
推到 Facebook!

關於Grid的DrawDataCell顏色控制!!

 
jojoboy
初階會員


發表:65
回覆:108
積分:34
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-06-10 16:51:08 IP:61.220.xxx.xxx 未訂閱
請教各位前輩: 小弟在DDBGrid1DrawDataCell事件中撰寫了以下的程式碼: procedure TAP2.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); Var XRect: TRect; s: String; begin (Sender as TDBGrid).Canvas.FillRect(Rect); XRect := Rect; (Sender as TDBGrid).Canvas.Font.Color := clBlack; if gdFocused in State then (Sender as TDBGrid).Canvas.Brush.Color := clSilver else (Sender as TDBGrid).Canvas.Brush.Color := clWindow; (Sender as TDBGrid).Canvas.Font.Name := '細明體'; s := Field.DisplayText; (Sender as TDBGrid).Canvas.TextRect(XRect, XRect.Left, XRect.Top 1, s); XRect.Top := XRect.Top - (Sender as TDBGrid).Font.Height 2; end; 我主要是希望當使用者點選DBGrid中的某筆記錄時,能將該筆記錄的Brush顏色改 變,但以上的程式碼卻只能將點選到的那個空格改變顏色而已~~~ 不知要如何修改才能達成我要的目標.... 望各位前輩能不吝指導.... ~~Thanks~~ 發表人 - jojoboy 於 2002/06/10 16:52:31
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-06-11 08:35:29 IP:163.29.xxx.xxx 未訂閱
引言: 我主要是希望當使用者點選DBGrid中的某筆記錄時,能將該筆記錄的Brush顏色改 變,但以上的程式碼卻只能將點選到的那個空格改變顏色而已~~~ 不知要如何修改才能達成我要的目標.... 望各位前輩能不吝指導.... ~~Thanks~~
不須要寫onDrawDataCell, 只須將DBGrid之options中dgRowSelect設為True即可,不過RowSelect Ture時,自然dgEdit=False,不可編輯.
jojoboy
初階會員


發表:65
回覆:108
積分:34
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-06-11 08:47:32 IP:61.220.xxx.xxx 未訂閱
呃...感謝前輩的回答,但有沒有更好的修正方式呢....因為DBGrid我還是有編輯的必要性,而且我還希望能控制顏色的.... Thanks~~
Lisa
一般會員


發表:4
回覆:6
積分:2
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-06-11 17:02:39 IP:61.222.xxx.xxx 未訂閱
在 DBGrid1DrawColumnCell 中 if (Rect.Top = TStringGrid(DBGrid1).CellRect(TStringGrid(DBGrid1).col,TStringGrid(DBGrid1).row).top) and (not (gdFocused in State)) then Dbgrid1.Canvas.Brush.Color := clRed; DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State);
系統時間:2024-04-25 23:24:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!