MFC不规则图形填充解决方案

MFC不规则图形填充
MFC基于对话框的程序,首先画一个不规则的图形如下图:


然后对上面的不规则图形填充,分12个不规则区域,现要对12区域分别填充不同的颜色。

望高手们给予一些思路或者实例,谢谢!

(或者是:当程序运行时,就显示那个不规则图形,12个分区,12种不同颜色。) 谢谢!

------解决方案--------------------
可以试试CDC::FillRgn(),或者GDI+中的
------解决方案--------------------
以下API函数供参考。具体声明和用法参见MSDN.
FillRect()填充一个矩形
SetBkColor(hdc, crColor) ;填入空隙的背景色
FillSolidRect()用一单色填充一个矩形
InvertRect()反转一个矩形的颜色
ExtFloodFill()用当前画刷填充一个区域,
FrameRect()画一个矩形的边框
FillRgn()填充一个区域
InvertRgn()反转一个区域的颜色
FrameRgn()画一个特定区域的边框


------解决方案--------------------
探讨
我用最原始的方法:在OnPaint()中绘制

//脚印形状
dc.MoveTo(475,50); //起点
dc.LineTo(435,70);
dc.LineTo(460,60);
dc.LineTo(450,120);
dc.LineTo(440,145);
dc.LineTo(420,170);
……
高手们帮忙看看,这样的绘图效率可行?

------解决方案--------------------
每个小多边形单独绘制,交界处冗余。这样能实现吗?
------解决方案--------------------
先将边界的点放到某一CRgn对象中, 
然后求出多边形的外接矩形。 
然后遍历外接矩形,用CRgn的PtInRegion判断是否在多边形里边。
------解决方案--------------------
选入一个画刷
FloodFill(区域内一点的坐标, 边界颜色); //边界必须是封闭的
恢复画刷
------解决方案--------------------
SetTimer 启动一个定时器
WM_TIMER 中 InvalidateRect
------解决方案--------------------
1.双缓冲
2.Timer定时器 
3.设置颜色
4.Invalidate();
------解决方案--------------------
颜色可以根据时间,生成一个随机的。事先定义好几个颜色,然后根据时间变化去取值也一样。