没人可正确分析原因:CPU占用到98%

hoffen 2003-10-10 08:58:51
我有一单文档应用,当用CSplitterWnd分了窗口后。其中的视有CView和CFormView两种,而且视上有两种派生类,分别从CButton和CListBox派生的。
CView及CFormView中最主要的函数是OnDraw()和OnPaint()用来填充色。
CButton和CListBox派生类中最主要的函数是OnDrawItem()和OnMouseMove()来做界面的。

   不知为什么,CPU占用达到了98%,当系统弹出另一窗口时,我的应用无法完成重绘过程。各位大哥、大姐多给建议。
...全文
250 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjg751206 2003-10-13
  • 打赏
  • 举报
回复
重新启动机器试试CPU占到多少了
hoffen 2003-10-13
  • 打赏
  • 举报
回复
发现问题了,是在处理PreTranslateMessage()过程中,不能将所有MESSAGE清了,所有的MESSAGE要进入QUQUE,所以,您在处理这个函数的时候也要注意了!!!
daylight1980 2003-10-10
  • 打赏
  • 举报
回复
把 CMainFrame::OnCreateClient()
返回改为
return TRUE;

给你个例子看
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{ //创建一个静态分栏窗口,分为一行两列
if(m_wndSplitter1.CreateStatic(this,1,2)==NULL)
return FALSE;
m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CTreeCtrlView),CSize(200,100), pContext);

if(m_wndSplitter2.CreateStatic(&m_wndSplitter1,2,1,WS_CHILD|WS_VISIBLE, m_wndSplitter1.IdFromRowCol(0, 1))==NULL)
return FALSE;
//将CView2类连接到第二个分栏对象的0行0列
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CAdoDBIView),CSize(500,400),pContext); //将CView3类连接到第二个分栏对象的0行1列
m_wndSplitter2.CreateView(1,0,RUNTIME_CLASS(CListCtrlView),CSize(100,50),pContext); //将CView4连接到0行2列

return TRUE;
}
flyelf 2003-10-10
  • 打赏
  • 举报
回复
贴出OnCreateClient的代码看看
Allesgut 2003-10-10
  • 打赏
  • 举报
回复
顶一把,我也有此一问,我现在做的一个程序在大数据量处理时CPU占用也很高,不知道和楼主的问题有没有共性
  • 打赏
  • 举报
回复
你用的什么系统啊,
我的是升级的xp,任务管理器中有个win98进程,
我的cpu一直是98%,把他结束就好了。

如果不关系统的问题,算我白说,只是提醒。
hoffen 2003-10-10
  • 打赏
  • 举报
回复
我找到原因了:是CMainFrame::OnCreateClient()中产生的,可是我如何正确地解决这个问题呢?
michael_ran 2003-10-10
  • 打赏
  • 举报
回复
楼上的说的有一定的道理
AlwaysS 2003-10-10
  • 打赏
  • 举报
回复
我以前也遇到过类似问题,是因为在OnPiant()函数结尾没有正确返回,看看你是不是这个原因。
cymlife 2003-10-10
  • 打赏
  • 举报
回复
一楼啊!
不懂,顶顶!!
pinel 2003-10-10
  • 打赏
  • 举报
回复
用trace调试一下我觉得是某处代码反复调用ondraw的问题
wuxfBrave 2003-10-10
  • 打赏
  • 举报
回复
我认为问题可能不是处在这个地方,你的界面全部显示出来了吗?如果没有可能是这个地方
,如果界面已完全显示,则肯定是重画的地方

15,979

社区成员

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

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