暂停渲染/绘制CTreeCtrl(MFC)

时间:2013-07-03 13:11:39

标签: c++ visual-c++ mfc

有没有办法在昂贵的操作中暂停呈现CTreeCtrl或其CTreeView,例如扩展/折叠树中的所有节点?如果它没有像PauseRendering(TRUE)或类似的东西那样的功能,那么如果没有调用我的ExpandAll方法,是否可以拦截绘制消息并仅将其转发到树上?

1 个答案:

答案 0 :(得分:4)

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

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

RedrawWindow(hWnd, NULL, NULL, RDW_ERASE|RDW_FRAME|RDW_INVALIDATE|RDW_ALLCHILDREN);