什么';这是在WinAPI中滚动和剪裁子窗口的正确方法

什么';这是在WinAPI中滚动和剪裁子窗口的正确方法,winapi,scroll,clip,Winapi,Scroll,Clip,我的应用程序的主窗口分为三个区域(顶部、内容、底部)。一些控件停靠在底部或顶部,其余控件放置在顶部和底部区域之间的“内容”区域 如果“内容”区域中控件的总高度大于可用空间,则某些控件会覆盖停靠在底部的控件。当我向上滚动“内容”区域时,也会出现类似的问题。某些控件覆盖停靠在顶部的控件 如何限制可以绘制子控件(窗口)的区域?我找到了函数SetWindowRgn(),但我不确定它是否正确,如何限制子窗口绘图区域 thx最好的方法是使用WS_CLIPCHILDREN样式将控件设置为另一个子窗口的子窗口。

我的应用程序的主窗口分为三个区域(顶部、内容、底部)。一些控件停靠在底部或顶部,其余控件放置在顶部和底部区域之间的“内容”区域

如果“内容”区域中控件的总高度大于可用空间,则某些控件会覆盖停靠在底部的控件。当我向上滚动“内容”区域时,也会出现类似的问题。某些控件覆盖停靠在顶部的控件

如何限制可以绘制子控件(窗口)的区域?我找到了函数SetWindowRgn(),但我不确定它是否正确,如何限制子窗口绘图区域


thx

最好的方法是使用
WS_CLIPCHILDREN
样式将控件设置为另一个子窗口的子窗口。如果您希望允许这些单独的区域彼此独立地滚动,那么这也很容易——您所要做的就是重新定位子控件以响应滚动偏移,它们将自动剪裁到父窗口的边框