请问如何将vc的整个窗口改成不规则的图形,就想media player换皮肤之后那样
谢谢指教!!

解决方案 »

  1.   

    1.调用设置区域函数,建立区域,比如CreatePolygonRgn函数
    2。利用上面的区域,调用SetWindowRgn函数
      

  2.   

    除了上面的SetRegion的方法,还有更有趣的方法(绝对不用Region)——不仅能实现不规则窗口,还能很方便的换皮肤,并且能够调整透明度,我恰好前两天做了一个,并且代码非常少。如果需要,告诉我你的Mail。
      

  3.   

    仔细查看了一下WIN32的API,发现其实创建任意形状的窗口其实也是很简单的,在VC中简单步骤如下:  当我们注册并创建了一个窗口类以后,我们在WM_CREATE消息中做如下处理:  (1)创建一个区域,使用CreatePolyonRgn,该函数创建一个多边形区域,(也可以使用其他方法如CreateRectRgn创建矩形区域),该函数返回一个HRGN的句柄;  (2)调用函数SetWindowRgn,即可设置窗口的形状。  补充说明的是,我们可以制作多个区域,然后用CombineRgn方法将多个区域合并为一个区域。这样我们就可以制作出更为丰富多采的窗口了。
      

  4.   

    CreatePolyonRgn()创建一个多边形区域
    调用函数SetWindowRgn,即可设置窗口的形状。
      

  5.   

    我得e-mail:[email protected]请高手指教