VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1326|回复: 16

VC++高级班之窗口篇-[15]实现不规则半透明的窗口

[复制链接]
51_avatar_middle
online_admins 发表于 2018-3-6 01:26:02 | 显示全部楼层 |阅读模式
①、简介:
在大多数的 Windows 应用程序中,窗体都是使用正规的矩形窗体,例如我们常用的:记事本,浏览器,等等。矩形窗体,具有编程实现简单,风格简洁的优点。
但在某些娱乐游戏程序中使用就略显呆板些了,这时若用不规则窗体替代原先的矩形窗体,将会使这类程序更添情趣。典型的例子有 Windows 自代的 Media Player!
===================================================
②、原理:
所有的 Windows 窗体都位于一个称为“region”的区域中,窗体的大小如果超出“region”的范围,Windows 会自动裁剪超出范围的那部分窗体,使其不可见。
所以,要创建不规则窗体有两个步骤:第一步就是创建不规则区域;第二步就是将窗体放到创建的“region”区域中!
===================================================
③、创建不规则区域:
  1. BOOL CRgn::CreateRectRgn( int x1, int y1, int x2, int y2 ); //创建矩形的“region”
  2. BOOL CRgn::CreateEllipticRgn( int x1, int y1, int x2, int y2 ); //创建圆形或椭圆形“region”
  3. BOOL CRgn::CreateRoundRectRgn( int x1, int y1, int x2, int y2, int x3, int y3 ); //创建圆角矩形“region”
  4. BOOL CRgn::CreatePolygonRgn( LPPOINT lpPoints, int nCount, int nMode ); //创建多边形“region”
复制代码

===================================================
④、代码实现:
===================================================
⑤、拖动时的边框问题解决:
===================================================
⑥、半透明窗体的实现:
===================================================
⑦、透明度的动态调节:
===================================================


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
教程在线观看地址:
https://www.bilibili.com/video/av39706853/?p=16
MP4高清视频下载地址:链接:https://pan.baidu.com/s/1VhhPsDjuOY1nbwjdXfJvPg 提取码:b9c0
本节课件下载(回复后可见):
游客,如果您要查看本帖隐藏内容请回复

备注:VIP会员可免费下载本站所有资源(点击查看)
提示:通过购买VC驿站U盘打包(点击查看)也可加入终身Vip会员^_^




上一篇:VC++高级班之窗口篇-[14]双缓冲讲解及界面贴图
下一篇:VC++高级班之窗口篇-[16]实现对话框的自适应最大化功能
69_avatar_middle
在线会员 发表于 2019-1-14 07:55:29 | 显示全部楼层
教程免费,这个必须要支持一下站长啊
95_avatar_middle
在线会员 发表于 2019-2-17 16:35:50 | 显示全部楼层
感谢老大的无私奉献
98_avatar_middle
在线会员 发表于 2019-2-23 15:07:07 | 显示全部楼层
谢谢分享  学习
98_avatar_middle
在线会员 发表于 2019-2-23 15:08:38 | 显示全部楼层
谢谢分享  学习
80_avatar_middle
在线会员 发表于 2019-3-3 23:04:19 | 显示全部楼层
VC++高级班之窗口篇-[15]实现不规则半透明的窗口 [修改]
69_avatar_middle
在线会员 发表于 2019-3-5 13:22:25 | 显示全部楼层
[原创] [源码信息] VC++写的屏幕开满玫瑰44
85_avatar_middle
在线会员 发表于 2019-3-7 14:00:20 | 显示全部楼层
感谢分享,学习一下。
56_avatar_middle
在线会员 发表于 2019-3-24 05:05:07 | 显示全部楼层
感谢老大的无私奉献
42_avatar_middle
在线会员 发表于 2019-4-1 10:28:45 | 显示全部楼层
VC++高级班之窗口篇-[15]实现不规则半透明的窗口
74_avatar_middle
在线会员 发表于 2019-4-3 19:45:27 | 显示全部楼层
VC++高级班之窗口篇-[15]实现不规则半透明的窗口
52_avatar_middle
在线会员 发表于 2019-5-29 18:33:44 | 显示全部楼层
谢谢楼主分享
87_avatar_middle
在线会员 发表于 2019-6-26 15:11:57 | 显示全部楼层
感谢老大的无私奉献
87_avatar_middle
在线会员 发表于 2019-6-26 15:24:16 | 显示全部楼层
感谢老大的无私奉献
43_avatar_middle
在线会员 发表于 2019-8-9 19:37:59 | 显示全部楼层
实现不规则半透明的窗口
90_avatar_middle
在线会员 发表于 2019-8-31 14:57:14 | 显示全部楼层
谢谢分享,辛苦了!
30_avatar_middle
在线会员 发表于 昨天 21:34 | 显示全部楼层
感谢老大的无私奉献
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-9-19 06:50

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表