奇怪的winAPI行为

时间:2010-10-09 02:26:18

标签: c++ winapi

我有一个分类标签控件给它一个背景。我使用剪切功能将绘图区域剪切到更新区域。这是有效的,除了当我移动屏幕的窗口然后再移回时。

当它这样做时,它偶尔会将剪辑区域设置为整个屏幕。这很好,除了没有任何控件重绘并最终隐藏在背景后面。当获取此更新区域时,如何知道是否重绘背景。如果我看到制表符控件的源代码,那么开发它会容易100倍,但这不会发生。

欢迎所有帮助或建议,但我确实需要一个直截了当的答案。

1 个答案:

答案 0 :(得分:1)

通过“剪裁区域”我假设你指的是窗口传递给你的必须重新绘制的区域。

尝试这样:绘制消息处理程序应该对背景图像的区域进行bitblit,该区域对应于需要刷新的窗口部分(因此您不会绘制不需要更新的内容)。然后让基类处理剩下的事情。

如果它将重绘区域设置为整个窗口,则在绘制背景后,选项卡控件代码应重绘所有内容。

拥有要查看的代码会有所帮助