GDI+多层绘制按钮有关问题

GDI+多层绘制按钮问题
有个特殊需求, 要求自己画一个图形,这图形时时更新,而窗口上又有按钮。我想到的方法是把这个自绘图在内存中用GDI+绘制,然后整个贴到主窗口中,但这么一来按钮、文字标签会被覆盖,文字标签我解决了,同样用GDI+自绘,但按钮麻烦。重新生成简单,问题是,如果层2是个窗口好办,直接把按钮的父窗口赋给他,可层2不是,难道只有把层2绘制成窗口吗?

问题见下图



分不多,请帮帮忙,谢谢。是不是我的算法有问题?

------解决方案--------------------
C/C++ code

OnPaint()
{
  CRgn r1,r2;
  r1.CreateRectRgn(0,0,rt.Width(),rt.Height());   //绘图区域
  r2.CreateRectRgn(0,0,100,50);  //按钮区域
  r1.CombineRgn(&r1,&r2,RGN_XOR);   //去掉按钮区域
  dc.SelectClipRgn(&r1);

  //画图
  。。。。

  dc.SelectClipRgn(&oldRgn);

}