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

Grid 的 DrawColumnCell  取值問題

缺席
wscken
初階會員


發表:28
回覆:75
積分:45
註冊:2003-08-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-08-02 22:13:26 IP:220.134.xxx.xxx 訂閱
請問各位大大,我該怎麼抓出在DrawColumnCell 時候指定的顏色,
好像每次抓到都是產生時的顏色,不是DrawColumnCell 的顏色。
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-08-03 08:47:28 IP:60.248.xxx.xxx 未訂閱
沒程式碼,不懂
不是Column.Color?
wscken
初階會員


發表:28
回覆:75
積分:45
註冊:2003-08-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-08-03 09:18:51 IP:203.66.xxx.xxx 訂閱
抱歉,我的意思是說,
我們在寫程式時,通常都會在DrawColumnCell 來作變色的動作,

如果用 Columns[i].Color 來作迴圈抓出顏色的話,他抓到的都是一開始的顏色,
如果沒設定的話,也就是都會抓出clwindow ,所以我想請問的是我想要抓出裡面的顏色時該怎麼做。

pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-08-03 09:53:09 IP:60.248.xxx.xxx 未訂閱
DBGrid1DrawColumnCell只有在事件產生時,指定給它ColumnCell的顏色,當它使用完畢後
大概只能用Canvas像點去取得顏色
不然就只能用自行儲存方式去處理

以下大概就是您指的程式碼片段吧
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Trim((Sender as TDBGrid).DataSource.DataSet.FieldByName(
'ItemNo').AsString)='1' then
(Sender as TDBGrid).Canvas.Brush.Color := RGB(121,185,168);
if Trim((Sender as TDBGrid).DataSource.DataSet.FieldByName(
'ItemNo').AsString)='2' then
(Sender as TDBGrid).Canvas.Brush.Color := RGB(111,189,196);

DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
with (Sender as TDBGrid).Canvas do
begin
Pen.Color := $00ff0000;
MoveTo(Rect.Left,Rect.Bottom);
LineTo(Rect.Right,Rect.Bottom);
Pen.Color := $0000ff00;
MoveTo(Rect.Left,Rect.Bottom);
LineTo(Rect.Right,Rect.Bottom);
end;
end;

wscken
初階會員


發表:28
回覆:75
積分:45
註冊:2003-08-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-08-03 11:36:56 IP:203.66.xxx.xxx 訂閱
我的想法是要當我們在Grid產生後,到Excel可以自動跟Grid一樣顏色,
所以我要抓出當DrawColumnCell後的顏色,
我也有用過類似的Columns[j].Grid.Canvas.Brush.Color去抓,
可是只要是有移動,就會抓不到設定的顏色,所以才會不知道怎麼辦。。


系統時間:2024-05-03 1:15:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!