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

請問如何控制指定某Cells[ACol, ARow]一定要出現在第一列

答題得分者是:2007
lovemari
中階會員


發表:134
回覆:224
積分:76
註冊:2005-08-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-09-02 11:56:14 IP:122.116.xxx.xxx 訂閱
請問如何指定Cells[ACol, ARow]一定要出現在第一列

以下是小弟程式碼 也就是 i = 1的時候 除了變色之後
也希望能夠該Cells[ACol, ARow] 能跳至第一列顯示
好讓User很清楚看到


[code delphi]
procedure TForm1.AdvStringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
iRate, iRate2, i, j: Integer;
begin
if gdFixed in State then Exit;
with Sender as TAdvStringGrid do
begin
if AdvStringGrid1.Cells[1, ARow] = AdvStringGrid4.Cells[1, ARow] then begin
if AdvStringGrid1.Cells[ACol, ARow] <> AdvStringGrid4.Cells[ACol, ARow]
then i := 1;
if AdvStringGrid1.Cells[ACol, ARow] = AdvStringGrid4.Cells[ACol, ARow]
then i := 0;
begin
case i of
1: Canvas.Font.Color := clRed;
end;
Canvas.TextRect(Rect, Rect.Left, Rect.Top, Cells[ACol, ARow]);
end;
end;
end;
end;

[/code]
------
Program : Delphi 7
DataBase : Oracle 9i
Client : ClientDataSet
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-09-02 12:06:06 IP:122.116.xxx.xxx 訂閱
請勿重複發文,這次幫你刪除舊的
http://delphi.ktop.com.tw/board.php?cid=30&fid=1498&tid=99241
[缺席] 如何寫 StringGrid 已變色的跳到第一行

編輯記錄
taishyang 重新編輯於 2009-09-02 12:08:09, 註解 無‧
taishyang 重新編輯於 2009-09-02 12:08:57, 註解 無‧
pedro
尊榮會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-09-02 12:12:45 IP:60.248.xxx.xxx 未訂閱
稍早您提問的問題,答案就在裡頭
http://delphi.ktop.com.tw/board.php?cid=30&fid=71&tid=96043

改變筆刷的顏色
Canvas.Brush.Color := clBlue;
lovemari
中階會員


發表:134
回覆:224
積分:76
註冊:2005-08-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-09-02 13:04:22 IP:122.116.xxx.xxx 訂閱
抱歉抱歉 副站長
因為我想說是不是我的問題下的不夠清楚
才來這區重新發問
下次會注意的...


===================引 用 taishyang 文 章===================
請勿重複發文,這次幫你刪除舊的
http://delphi.ktop.com.tw/board.php?cid=30&fid=1498&tid=99241
[缺席] 如何寫 StringGrid 已變色的跳到第一行

------
Program : Delphi 7
DataBase : Oracle 9i
Client : ClientDataSet
2007
中階會員


發表:54
回覆:90
積分:98
註冊:2008-08-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-09-02 15:02:49 IP:60.249.xxx.xxx 未訂閱

不知是不是這樣??

AdvStringGrid1->Row = ARow;

===================引 用 lovemari 文 章===================
請問如何指定Cells[ACol, ARow]一定要出現在第一列

以下是小弟程式碼 也就是 i = 1的時候 除了變色之後
也希望能夠該Cells[ACol, ARow] 能跳至第一列顯示
好讓User很清楚看到


[code delphi]
procedure TForm1.AdvStringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
iRate, iRate2, i, j: Integer;
begin
if gdFixed in State then Exit;
with Sender as TAdvStringGrid do
begin
if AdvStringGrid1.Cells[1, ARow] = AdvStringGrid4.Cells[1, ARow] then begin
if AdvStringGrid1.Cells[ACol, ARow] <> AdvStringGrid4.Cells[ACol, ARow]
then i := 1;
if AdvStringGrid1.Cells[ACol, ARow] = AdvStringGrid4.Cells[ACol, ARow]
then i := 0;
begin
case i of
1: Canvas.Font.Color := clRed;
end;
Canvas.TextRect(Rect, Rect.Left, Rect.Top, Cells[ACol, ARow]);
end;
end;
end;
end;

[/code]
lovemari
中階會員


發表:134
回覆:224
積分:76
註冊:2005-08-18

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-09-04 14:49:02 IP:122.116.xxx.xxx 訂閱
Dear 樓上大大不行耶

只是我改寫成

AdvStringGrid1.TopRow := ARow;

它好像是有點翻頁的感覺

就譬如Cells[Acol, 8] 變色 那他會把頁面拉到第八列當成第一各

小弟是希望能夠把所有Cells[ACol, ARow]的都集中在一起

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