我有几个Custom Drawn CStatic,使用SetWindowRgn
为每个人提供不规则(非矩形)形状。我需要使每个控件OnEraseBkgnd
后面的区域无效,我想在父CWnd::InvalidateRgn
上使用CDialog
,但我需要将CRgn
翻译成Cwnd::ScreenToClient(CRgn *)
父母的坐标。我希望有类似CWnd::ScreenToClient
的东西,但据我所知,没有这样的东西存在。
如何获得带有CRgn的{{1}}的等价物?
答案 0 :(得分:3)
GetRegionData
CRgn
区域拆分为矩形
ScreenToClient
个别矩形CreateFromData
备用选项CRgn::OffsetRgn
使用ScreenToClient
为单个点获得的距离来消除区域。