窗口通过被其他窗口的裁剪而在屏幕上以矩形出现。为了实现一个圆形窗体,仅仅简单绘制一个圆形窗体是不够的,这样的话系统还会把窗体按原矩形进行点击检测,而且位于该窗体下的窗口仍将被该窗体矩形所裁剪。或许可以考虑在园形窗体显示出来前取得位于该窗体矩形下可视区域的快照,并在稍后窗体显示完毕后将其绘制到当前窗体。但由于其他窗口能够绘制该窗体覆盖下的区域,而前台程序无法获知这种绘制将于何时发生而不会及时获取下面可视区域的新的快照,因此这种解决方法并不能在多进程、多任务环境下很正常的工作。对于这种情况,在Windows 95/98和Windows NT 4.0下的正确做法是通过SetWindowRgn()API函数指出需要的窗体形状,但是这种处理在频繁更改窗体形状或是在屏幕上拖拽时仍有缺陷存在:前台窗体将要求位于其下的窗体重绘整个区域,这将生过多的消息和计算量。而且使用SetWindowRgn()只能实现窗体的全透明而无法实现半透明效果。或许这也正是分层窗口被提出的原因。