界面问题-窗口重绘?

junhonguk 2008-07-11 04:35:37
我的MFC应用程序主要功能是读取数据库内容,并用图形显示其数据。
问题是绘制图形的模块,当有浮动窗口或其他应用程序挡住或移过所绘制的图形区域时,图形会被擦除,留下大片白块。
我看了看源程序发现负责该模块的类为:CReportSpace.
在该类下总共只有以下几个成员函数:
::OnClickTab()
::OnCreate()
::OnSize() //改变图形区域尺寸时所调用的函数;
::OnPaint()//如果没错的话,这个函数就是负责窗口重绘的。

对于::OnPaint()其源代码如下:
void CReportspace::OnPaint()
{
CPaintDC dc(this); // device context for painting
}

我觉得这个函数没有写完整,请高手指教!

顺便附上图片更好的解释出现的问题。

<a href="http://tinypic.com" target="_blank"><img src="http://i33.tinypic.com/2mmxnvk.jpg" border="0" alt="Image and video hosting by TinyPic"></a>

<a href="http://tinypic.com" target="_blank"><img src="http://i37.tinypic.com/iwnr4j.jpg" border="0" alt="Image and video hosting by TinyPic"></a>

<a href="http://tinypic.com" target="_blank"><img src="http://i37.tinypic.com/2638rr6.jpg" border="0" alt="Image and video hosting by TinyPic"></a>
...全文
75 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hoocode2008 2008-07-12
  • 打赏
  • 举报
回复
http://www.skinfeature.com
definegg 2008-07-11
  • 打赏
  • 举报
回复
CReportspace 的子窗口 看有没有 一个 继承 自 CWnd 的 (可能 会是 CReportspace 类 的一个成员变量 ),这个 CChildWnd 才是那个 真正绘制曲线 的 OnPaint()所在的 窗口。
M_S_D_N 2008-07-11
  • 打赏
  • 举报
回复
这个控件只是由某个程序段被动的绘制,而没有在OnPaint()响应函数中主动绘制,必定会导致这个问题,你将那段被动绘制的代码也迁移一份到OnPaint()函数中即可。
菜牛 2008-07-11
  • 打赏
  • 举报
回复
绘图的代码在哪里?
junhonguk 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 junhonguk 的帖子:]
我的MFC应用程序主要功能是读取数据库内容,并用图形显示其数据。
问题是绘制图形的模块,当有浮动窗口或其他应用程序挡住或移过所绘制的图形区域时,图形会被擦除,留下大片白块。
我看了看源程序发现负责该模块的类为:CReportSpace.
在该类下总共只有以下几个成员函数:
::OnClickTab()
::OnCreate()
::OnSize() //改变图形区域尺寸时所调用的函数;
::OnPaint()//如果没错的话,这个函数就是负责窗口重绘的。

对于…
[/Quote]

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧