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

有段程序看不太懂,请大家帮个忙!先谢谢了!

尚未結案
coldcoffee
一般會員


發表:60
回覆:22
積分:16
註冊:2003-05-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-18 22:50:35 IP:61.51.xxx.xxx 未訂閱
1 with DBGrid1.canvas do 2 begin 3 // 先预设颜色 4 if gdselected in state then // Select光棒停在此Cell 5 begin 6 font.color:=clHighLightText; // 正常的DBGrid颜色 7 Brush.color:=clHighLight; // 正常的DBGrid颜色 8 end 9 else // Select光棒未停在此Cell 10 begin 11 font.color:=clBlack; // 正常的DBGrid颜色 12 Brush.color:=clWhite; // 正常的DBGrid颜色 13 end; 14 // 设定指定Cell的颜色 15 if datacol=1 then // 第二个栏位 16 begin 17 if gdselected in state then // Select光棒停在此Cell 18 begin 19 if (sender as tdbgrid).datasource.dataset.fieldbyname('size').asinteger>=10 then 20 Font.Color:=clred or $888888 // 字变红色加一点白色调(这样反白效果才会好) 21 else 22 Font.Color:=clBlue or $888888 // 字变篮色加一点白色调(这样反白效果才会好) 23 end 24 else // Select光棒未停在此Cell 25 begin 26 if (sender as tdbgrid).datasource.dataset.fieldbyname('size').asinteger>=10 then 27 Font.Color:=clred // 字变红色 28 else 29 Font.Color:=clBlue; // 字变蓝色 30 end; 31 end 32 else if datacol=2 then // 第三个栏位 33 begin 34 if gdselected in state then // Select光棒停在此Cell 35 begin 36 if (sender as tdbgrid).datasource.dataset.fieldbyname('weight').asinteger>=10 then 37 Brush.color:=clred or $404040 // 底色变成红色加一点白色调 38 else 39 Brush.color:=clGreen or $404040 // 底色变成绿色加一点白色调 40 end 41 else // Select光棒未停在此Cell 42 begin 43 if (sender as tdbgrid).datasource.dataset.fieldbyname('weight').asinteger>=10 then 44 Brush.color:=clred // 底色变成红色 45 else 46 Brush.color:=clGreen; // 底色变成绿色 47 end; 48 end; 49 // 一定要执行绘图的动作 50 DbGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,[]); 51 end; 第4行:if gdselected in state then的gdselected、state是什么意思? 第15行:if datacol=1 then的datacol是什么意思? 第19行:if (sender as tdbgrid).datasource.dataset.fieldbyname('size').asinteger>=10 then的tdbgrid是什么意思?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-19 08:51:28 IP:210.65.xxx.xxx 未訂閱
Hi:
1.State 表示目前必須 DrawColumn 之狀態,內容說明如下
    Value            Meaning
    ----------- ----------------------------------------
    gdSelected        The cell is currently selected.
    gdFocused        The cell has input focus.
    gdFixed        The cell is in the fixed region of the grid.    2.datacol 表示目前必須 DrawColumn 之欄位 Index
if datacol = 1 代表為該 DBGrid 的第二個 Column    3.Sender 是一個 TObject,而 TDBGrid 則是一個 TClass
(Sender As TDBGrid) 亦即將 Sender 視同為 TDBGrid,用法與 TDBGrid(Sender) 同
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
系統時間:2024-07-07 12:26:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!