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

程式執行結束,指定StringGrid其中一列的顏色

尚未結案
palw
初階會員


發表:45
回覆:89
積分:26
註冊:2003-02-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-18 14:08:47 IP:211.78.xxx.xxx 未訂閱
您好: 目前我找到的資料都是在DrawCell事件下才能修改顏色,但是我希望當程式執行後,結果回存到StringGrid,然後將回存某一欄位的值為某值時,即修改該列的顏色.請問,該怎麼做呢?
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-18 14:20:37 IP:203.73.xxx.xxx 未訂閱
引言: 您好: 目前我找到的資料都是在DrawCell事件下才能修改顏色,但是我希望當程式執行後,結果回存到StringGrid,然後將回存某一欄位的值為某值時,即修改該列的顏色.請問,該怎麼做呢?
palw 你好:
(1)有關修改顏色的部分,一樣寫在 DrawCell 裡面
(2)修改每一個 Cell 值的部分,可以寫在其他的地方,在修改完值以後,加上
   這一行程式碼,就可以強迫重畫 StringGrid1->Repaint();
(3)以下是範例程式碼
void __fastcall TForm1::StringGrid2DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
   if(ACol>0 && ARow>0)
   {
      if(StringGrid2->Cells[ACol][ARow]=="0")
      {
         StringGrid2->Canvas->Brush->Color=clRed;
      }
      else if(StringGrid2->Cells[ACol][ARow]=="1")
      {
         StringGrid2->Canvas->Brush->Color=clGreen;
      }
      else
      {
         StringGrid2->Canvas->Brush->Color=clBlue;
      }
      StringGrid2->Canvas->FillRect(Rect);
      StringGrid2->Canvas->TextOut(Rect.Left 2, Rect.Top 2,
                                   StringGrid2->Cells[ACol][ARow]);
   }
}
void __fastcall TForm1::Button13Click(TObject *Sender)
{
   for(int i=1; iColCount; i  )
   {
      for(int j=1; jRowCount; j  )
      {
         StringGrid2->Cells[i][j]=IntToStr(((i j)%2));
      }
   }
   StringGrid2->Repaint();
}
-- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2003/11/18 15:07:49
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
palw
初階會員


發表:45
回覆:89
積分:26
註冊:2003-02-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-18 16:18:38 IP:211.78.xxx.xxx 未訂閱
謝謝RaynorPao指教: 可是我重畫之後.所有StringGrid都變成空白的....
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-18 17:04:46 IP:203.73.xxx.xxx 未訂閱
引言: 謝謝RaynorPao指教: 可是我重畫之後.所有StringGrid都變成空白的.... < face="Verdana, Arial, Helvetica">
palw 你好:
(1)建議你先另外建立一個新的 Project,試試以上的程式碼可不可行??
(2)請確認你的 StringGrid 所有顯示的字串,是否已經真正的儲存到每一個
   Cells[i][j] 裡面,只用 TextOut 是無法把字串存入的
-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
palw
初階會員


發表:45
回覆:89
積分:26
註冊:2003-02-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-19 17:43:07 IP:211.78.xxx.xxx 未訂閱
感謝RaynorPao的幫忙.
系統時間:2024-05-15 15:07:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!