首页 > 解决方案 > CMainFrame 的缓慢/延迟移动

问题描述

我有一个用 C++ 编写的 MDI 文档/视图应用程序,其中每个 CView 包含大约 200 个基于 CWnd 的子窗口。每个子窗口都是用 WS_CHILD | 创建的。WS_VISIBLE 样式。子窗口的 OnPaint 方法使用 CPaintDC 和 MoveTo/LineTo 函数从对角绘制线条。子窗口的 OnEraseBkgnd 方法只返回 TRUE。(这只是一个测试应用程序,用于调查实际应用程序的问题。)

当我在主框架内移动视图或调整视图大小时,应用程序的响应速度非常快。但是,当我打开 10 个或更多视图然后使用鼠标在屏幕上拖动主框架窗口时,会出现明显的延迟。主框架窗口移动非常缓慢,通常需要几秒钟才能赶上鼠标的位置。即使所有视图都已最小化,也会发生这种缓慢的移动。

关于如何解决此问题的任何建议?甚至我应该从哪里开始寻找?

谢谢你,凯文

编辑:演示所描述行为的解决方案可在https://github.com/KevinJoback/MFCApplication4获得。

标签: mfc

解决方案


推荐阅读