选项卡使用WS_EX_COMPOSITED控制高CPU使用率

时间:2014-02-08 19:47:16

标签: winapi listview tabs user32

我有一个标准的Windows Tab控件,使用WS_EX_COMPOSITED扩展窗口样式创建,以处理调整选项卡大小时的闪烁,但其中一个Tab子窗口是ListView(LVS_OWNERDRAWFIXED),设置为LVS_REPORT,这个组合似乎吃了即使ListView中没有行,CPU占用率也是如此,因此选项卡中的空ListView根本不执行任何操作有48%的CPU使用率,更改ListView视图或删除WS_EX_COMPOSITED修复CPU问题但是我真的需要LVS_REPORT所以我该怎么做,如果我可以使用带有ListView子窗口的WS_EX_COMPOSITED或者获得与WS_EX_COMPOSITED相同的结果,因为它可以阻止凌乱的闪烁。

1 个答案:

答案 0 :(得分:2)

调整大小时只需要WS_EX_COMPOSITED。因此,权宜之计的解决方案是仅在调整大小时包含它。聆听WM_ENTERSIZEMOVE,当您收到时,请加入WS_EX_COMPOSITED。收到WM_EXITSIZEMOVE后,请删除WS_EX_COMPOSITED