Visual c++ CRgn屏幕客户端

Visual c++ CRgn屏幕客户端,visual-c++,mfc,Visual C++,Mfc,我有几个自定义绘制的CStatic,它们使用SetWindowRgn为每个CStatic提供不规则(非矩形)形状。我需要使每个控件后面的区域无效,我想在父控件CDialog上使用CWnd::InvalidateRgn,但是我需要将CRgn转换为父控件的坐标。我希望有类似于Cwnd::ScreenToClient(CRgn*)的东西,但据我所知,没有这样的东西存在 我如何获得具有CRgn的等价物CWnd::ScreenToClient 使用将CRgn区域拆分为矩形 ScreenToClient单个

我有几个自定义绘制的CStatic,它们使用
SetWindowRgn
为每个CStatic提供不规则(非矩形)形状。我需要使每个控件后面的区域无效,我想在父控件
CDialog
上使用
CWnd::InvalidateRgn
,但是我需要将
CRgn
转换为父控件的坐标。我希望有类似于
Cwnd::ScreenToClient(CRgn*)
的东西,但据我所知,没有这样的东西存在

我如何获得具有CRgn的等价物
CWnd::ScreenToClient
  • 使用将
    CRgn
    区域拆分为矩形
  • ScreenToClient
    单个矩形
  • 使用
    CreateFromData
  • 另一种选择是使用从
    screen到客户
    获得的单个点的距离提供区域