假設針對一個StringGrid名稱為SaveStringGrid
假設GridColor 為用於儲存對應SaveStringGrid陣列的每一個顏色值(Pixel Value)
- 首先, 在Unit1.h先宣告一個 TColor **GridColor;
- Form1的OnCreate事件加入下列程式碼:
- //建立與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; - SaveStringGrid的OnDrawCell加入下列程式碼:
- SaveStringGrid->Canvas->Brush->Color = GridColor[ACol][ARow];
SaveStringGrid->Canvas->FillRect(Rect); - 結果如下
- 此範例僅設定第一列成淺藍色, 可以延伸至設定每一個cell成不同顏色
全站熱搜
留言列表