代码之家  ›  专栏  ›  技术社区  ›  Alexander Rafferty

奇怪的winAPI行为

  •  0
  • Alexander Rafferty  · 技术社区  · 15 年前

    我对一个tab控件进行了子类化,以使其具有背景。我使用了剪切功能将绘图区域剪切到更新区域。这是有效的,除了当我移动屏幕的窗口,然后再回来。

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

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

    1 回复  |  直到 15 年前
        1
  •  1
  •   Jay    15 年前

    我认为“裁剪区域”是指窗口传递给您的必须重新绘制的区域。

    请尝试以下操作:绘制消息处理程序应将背景图像中与需要刷新的窗口部分相对应的区域按位设置(这样就不必绘制不需要更新的内容)。然后让基类处理其余的。

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

    有代码可以查看会有帮助