【Demo 0042】不规则窗体

我们常看到有许多不规则的窗体, 像Photoshop启动窗体以及一下破解软件也常是一些不规则窗体还有QQ,Windows 提供了不规则窗体的方法有多种, 我们先学习一下通过Rgn来实现。

实现方法:

1.  创建一个想要的状态区域(HRGN);

2.  使用SetWindowRgn函数将区域做为参数即可实现不规则窗体.

一、关键代码

RECT rtClient ;
GetClientRect ( hWnd , & rtClient );
HRGN hRgn ;
hRgn = CreateEllipticRgn ( rtClient . left , rtClient . top , rtClient . right , rtClient . bottom );
SetWindowRgn ( hWnd , hRgn , TRUE );
DeleteObject ( hRgn );

     以当前窗体区域大小创建一个椭员的RGN,并以此RGN作为窗体形状

二、API讲解

     int SetWindowRgn(HWND hWnd, HRGN hRgn, BOOL bRedraw)

     hWnd      -- 当前窗体

     hRgn       -- 窗体的形状

     bRedraw   -- 调用完后更新

     功能: 通过指定区域来改变窗体的形状

三、程序效果

   image

 

演示代码

你可能感兴趣的:(demo)