您的位置:首页 > 其它

【Demo 0042】不规则窗体

2011-09-03 23:46 169 查看
我们常看到有许多不规则的窗体, 像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   -- 调用完后更新

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

三、程序效果

  



 

演示代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: