你也可以在自己的函数中把数据绘制到客户区屏幕
CClientDC dc(this);
//dc draw
但是。 这样的话,当客户区无效(被遮挡而需要刷新)时,会把你绘制的图形刷掉。
所以可以在函数中把你的文件数据读到一个内存中(整理一个合适的数据结构存储),
然后后Invalidate();
在OnDraw函数中把那个数据结构中的图形绘制到屏幕。(如果闪的话就用双缓冲)

解决方案 »

  1.   

    当窗体刷新的时候,(例如窗体从不显示到显示、前面遮挡的窗体消失或移开、改变窗体大小等),窗体会收到WM_PAINT消息,这时WindowProc会调用OnPaint函数来响应,如果你设置了owner-drawn风格,则向父窗体发送WM_DRAWITEM消息,父窗体的WindowProc会调用OnDraw函数来响应,如果OnPaint和OnDraw函数你都没有处理,则刷新后你原本画的图形可能就被擦掉了。