Winapi 在win32 HRGN对象内绘制

Winapi 在win32 HRGN对象内绘制,winapi,Winapi,我在win32中实现了一个边框控件,并且为该边框实现了各种样式。我使用简单的MoveTo()和LineTo()命令来绘制边框。 我的问题是,当我为边框选择一些新样式时,它会在当前绘制的边框上开始绘制。我知道我需要刷新/重新绘制我的窗口,以获得一个新的画布。我现在使用invalidate()来实现这个目的。但我担心,如果我有其他窗口与我的边界控制窗口(作为子窗口)关联,这将如何影响子窗口?我需要重新绘制此窗口上的所有内容,对吗 第二,我是否可以在GDI区域(HRGN)内画线?到目前为止,我所遇到的

我在win32中实现了一个边框控件,并且为该边框实现了各种样式。我使用简单的MoveTo()和LineTo()命令来绘制边框。 我的问题是,当我为边框选择一些新样式时,它会在当前绘制的边框上开始绘制。我知道我需要刷新/重新绘制我的窗口,以获得一个新的画布。我现在使用invalidate()来实现这个目的。但我担心,如果我有其他窗口与我的边界控制窗口(作为子窗口)关联,这将如何影响子窗口?我需要重新绘制此窗口上的所有内容,对吗


第二,我是否可以在GDI区域(HRGN)内画线?到目前为止,我所遇到的只是如何用一些填充颜色填充HRGN。是否我可以检索与特定HRGN对象关联的HDC???

这不是问题,您绘制的任何内容都会被子窗口矩形自动剪裁。不需要额外的代码。底层窗口样式标志是WS_CLIPCHILDREN


不能在区域中绘制线,也不能将线与设备上下文关联。而不是通过绘制区域,然后在绘制消息处理程序中绘制线条。您可能对路径感兴趣。MSDN文档。

正常。感谢指向路径对象的指针,不过我不认为我需要使用它们。我只是想确定是否要重新绘制连接到父边框窗口的子窗口。谢谢