CLOVER从建立四个椭圆剪裁区域开始,这四个椭圆存放在hRgnTemp阵列的头四个元素中,然後建立三个「空」剪裁区域:
显示区域左右的两个椭圆区域组合起来:
同样,显示区域上下两个椭圆区域组合起来:
最後,两个组合後的区域再组合到hRgnClip中:
RGN_XOR识别字用於从结果区域中排除重叠部分。最後,删除6个临时区域:
与画出的图形比起来,WM_PAINT的处理很简单。视埠原点设定为显示区域的中心(使画直线更容易一些),在WM_SIZE讯息处理期间建立的区域选择为装置内容的剪裁区域:
现在,剩下的就是画直线了,共360条,每隔一度画一条。每条线的长度为变数fRadius,这是从中心到显示区域的角落的距离:
在处理WM_DESTROY讯息