關於Grid的DrawDataCell顏色控制!! |
|
jojoboy
初階會員 發表:65 回覆:108 積分:34 註冊:2002-03-13 發送簡訊給我 |
請教各位前輩:
小弟在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 發送簡訊給我 |
|
jojoboy
初階會員 發表:65 回覆:108 積分:34 註冊:2002-03-13 發送簡訊給我 |
|
Lisa
一般會員 發表:4 回覆:6 積分:2 註冊:2002-03-13 發送簡訊給我 |
在 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);
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |