【新人】小弟我想做一个图像显示的时隙监控软件,遇到了瓶颈

【新人】我想做一个图像显示的时隙监控软件,遇到了瓶颈
【新人】小弟我想做一个图像显示的时隙监控软件,遇到了瓶颈

总体的对话框已经做出来了,如上图所示。实现的具体过程是实时调用数据库,读出数据库中的数据,然后将相应的小方格图成红色。但是我现在遇到瓶颈了,希望大神帮忙。

图像的初始化我是在子对话框Onpaint函数做的,但是现在的问题是,对话框每刷新一次,就要调用Onpaint 函数,这个图像就要被初始化,就是现在所示的全绿。那我是不是应该吧初始化图像放在OnInitDialog中做呢?这样的画该如何做?

还有,调用数据库是一个不间断的过程,每一次刷新都要有新的小格被涂红,那么我是不是应该建立一个子函数来实现调用数据库数据并显示呢?如果是的话,我该如何设置子函数的参数来获取CPaintDC dc(this);指针,例如:void handshu(括号内的参数如何写?)。因为我之前尝试过Onpaint函数调用子函数,图像画不出来。

先谢谢大家了
------解决方案--------------------
数据是数据,画图是画图,你弄一团,自然是混乱的

建立变量,BOOL   x[50][50];

void  CXXXXDlg::OnPaint()
{
      for(int i=0;i<50;i++)
          for(int j=0;j<50;j++)
      {
              如果x[i][j]==TRUE;则对应的小方格涂红色
              否则对应的小方格涂绿色
      }
}

所谓初始化就是:
所有x[i][j]=FALSE

所谓不间断的过程就是
读取数据库-->计算并设置x对应的值-->通知重画
------解决方案--------------------
你所谓的初始化实际就是绘画背景,你可以将绘画绿色方格的过程做成一个函数,在每次OnPaint的时候先调用该函数,然后使用数据库数据将需要的地方绘画成红色