假設針對一個StringGrid名稱為SaveStringGrid

假設GridColor 為用於儲存對應SaveStringGrid陣列的每一個顏色值(Pixel Value)

  1. 首先, 在Unit1.h先宣告一個 TColor **GridColor;    
  2. Form1的OnCreate事件加入下列程式碼:
  3.      //建立與StringGrid相同大小的顏色陣列
         GridColor = new TColor* [SaveStringGrid->ColCount];

         for (int i=0; i<SaveStringGrid->ColCount; i++)
         GridColor[i] = new TColor[SaveStringGrid->RowCount];

         //設定顏色的初始值
         for (int i=0; i<SaveStringGrid->ColCount; i++)
         for (int k=0; k<SaveStringGrid->RowCount; k++)
         if (k==0) GridColor[i][k] = 0x00FFFF00;
         else        GridColor[i][k] = clWhite;
         SaveStringGrid->DefaultDrawing= false;
  4. SaveStringGrid的OnDrawCell加入下列程式碼:
  5.     SaveStringGrid->Canvas->Brush->Color = GridColor[ACol][ARow];
        SaveStringGrid->Canvas->FillRect(Rect);   
  6. 結果如下
  7. 此範例僅設定第一列成淺藍色, 可以延伸至設定每一個cell成不同顏色
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 me1237guy 的頭像
    me1237guy

    天天向上

    me1237guy 發表在 痞客邦 留言(0) 人氣()