3

有没有办法在展开/折叠树中的所有节点等昂贵的操作期间暂停 aCTreeCtrl或它的渲染?CTreeView如果没有类似的功能PauseRendering(TRUE)或类似的功能,是否有可能截获绘图消息并仅在未调用我的 ExpandAll 方法时将其转发到树?

4

1 回答 1

5

您可以使用WM_SETREDRAW消息:使用wParamto发送FALSE时会阻止窗口接收WM_PAINT消息;当与wParamto 一起发送时,TRUE它将被设置为正常。

完成后不要忘记手动重新绘制窗口,因为它不会自动完成:

RedrawWindow(hWnd, NULL, NULL, RDW_ERASE|RDW_FRAME|RDW_INVALIDATE|RDW_ALLCHILDREN);
于 2013-07-03T13:18:24.457 回答