小白求解。关于c++图像填充跟刷新的

小白求解。关于c++图像填充和刷新的
在做俄罗斯方块。是这样子的。我简单说一下思路(具体代码很挫很烦)
就是一个地图是由 一个2维数组 ditu[][]构造。

用位图画格子
Bitmap ^bmp=gcnew Bitmap(pictureBox2->Width,pictureBox2->Height);
pictureBox2->Image=bmp;
Graphics^g=Graphics::FromImage(bmp);
int i;
for(i=0;i<=180;i+=15)
g->DrawLine(Pens::Black,15,50+i,165,50+i);
for(i=0;i<165;i+=15)
g->DrawLine(Pens::Black,15+i,50,15+i,230);//画俄罗斯方块的格子,行12,列10


然后就用颜色填充表示。ditu[][]数组我初始化为全为0;
一旦数组值为1,就颜色填充。譬如在计时器中。我这样写


for(int i=5;i<17;i++)
{for(int j=0;j<=9;j++)
{if(ditu[i][j]==1)

g->FillRectangle(red,RectangleF(15+15*j,50+(i-5)*15,15,15));

if(ditu[i][j]==2)
g->FillRectangle(blue,RectangleF(15+15*j,50+(i-5)*15,15,15));

}

但是。。这样有一个很严重的问题。就是现在涂红的方格。即使我有一个函数在计时器中将方块上一格方格改为0,方块下落1格改为1,运行后也只是新的地方涂上红色,旧的地方的红色没有变成原来的无色。。这样的话怎么办。。


------解决方案--------------------
你这段代码放在哪里?放在onpaint里吗?