Repaint是什么意思?我不理解,能不能给我详细解释一下?有一个程序里 有一行代码StringGrid1.Repaint
执行后StringGrid1字体颜色就变了StringGrid1.DrawCell里面有改变颜色的代码我是不是可以理解成 StringGrid1.Repaint  就是调用了StringGrid1.DrawCell?

解决方案 »

  1.   

    就是重绘动作,就是你对grid做了一些自画功能后,可以调用这个来显示效果
      

  2.   

    Repaint确实会触发OnDrawCell事件
      

  3.   

    跟踪一下VCL代码,你就知道调用了UpdateWindow这个API,跟着UpdateWindow发送一个WM_PAINT消息,那么StringGrid收到消息就执行重画
      

  4.   

     message WM_Paint;
    OnDrawCell,Onpaint都会响应这种消息的吧
      

  5.   

    在操作系统中每个控件都要重绘,补补Windows编程
      

  6.   

    只要从消息的角度去理解,你就能明白了。
    Repaint发送了一个 WM_Paint 的消息。StringGrid1.Refresh; // 我好像用 Refresh 比较多。
      

  7.   

    重新把StringGrid粉刷了一遍。
    粉刷过程中,看看OnDrawCell方法有没有被赋值,如果有就执行OnDrawCell中的粉刷方法。