- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PNG透明窗体全攻略(控件不透明)vc程序指导
这两天在研究透明窗体,总算略有小成。网上大部分文章都是介绍到把窗体弄透明就没有下文。其实窗体透明并不难,难就难在透明的窗体上还要放控件。今 天我就把窗体透明一直到控件不透明怎么制作一块给写了吧。先截张图诱惑下你们,如果你没兴趣就没必要再看下文了,有兴趣的话就继续往下看吧^_^!
??
?看好了,这是XP系统,未装.net。我的Photoshop学的不太好,把玻璃片弄的太透了些,如果你们有好的美术,再加上这种技术,肯定会如 鱼得水。下面就来详细说说它的制作过程吧:
???? 第 一步:在VC6中使用GDI+:你得从网上弄个GDI+ for XP的库,大约500K。如果找不到的话,找我QQ要吧,我会把这个窗口的源程序一起发给你的。把它解压后,将所有文件还包括子目录中的文件复制到你的项 目目录。在stdafx.h中加入以下代码:
#include gdiplus.h ////请修改为你的头文件路径
using namespace Gdiplus;
#pragma comment(lib, gdiplus.lib) ////请修改为你的.lib文件路径
???? 我的项目名为Test,所以在TestApp中加入全局变量
ULONG_PTR gdiplusToken;
???? 在BOOL CTestApp::InitInstance()中加入这两行:
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(gdiplusToken, gdiplusStartupInput, NULL);
???? 记住在线程退出后要御掉GDI+,它很占资源的,在int CTestApp::ExitInstance() 中加入这行:
GdiplusShutdown(gdiplusToken);
???? 一切准备工作就绪,开始制作窗口了。
???? 二、制作PNG图像:这不是程序员的事,是美工的事,可是目前美术技术都是我一人,所以干脆连PNG一起教你们做了吧。
???? 先打开Photoshop(简称PS),打开一张背景图,在背景图上使用圆角矩形工具?画个矩型,再用图层样式调出如下绿色玻璃片:
?
?什么?怎么个调出来的?你还真以为我什么都教你?要是我连PS的过程都写上来,那我干脆写本书得了。体谅一下吧,写教程是需要大量时间的,所以能 省则省。
???? 将背景去掉,将玻璃保存成PNG图片,不需要设置任何参数,PNG是自动使用这种与背景溶合透明的,强大吧^_^! ?再用同样的方法,制作绿色按钮?,记住做界面的时候,一般要使用一种主色调,在这里我随便用了下绿色作为主色调,现在网络流行的是蓝色。文字则不能用RGB色彩,这样用户容易产生视觉疲 劳。我做这个界面只是想试试绿玻璃好不好看,结果觉得不怎么好看,以后有空再弄个蓝玻璃试试吧。
???? 按钮不需要保存成PNG,因为我不准备将它透明。至于这种“透明控件”的文章,你在网上一搜一大堆。
???? 继续吧!还要做其它3个按钮,“确定”的按下效果,“取消”的拾起和按下效果,在这里我就不截图了。
???? 美术都搞定,开始写代码。
???? 三、写代码之前,我先说说工序:先用SetWindowLong将对话框设置成层级窗体,再使用GDI+显示图片。显示成功后再用 UpdateLayeredWindow函数进行透明处理。
???? 现在问题出来了,你会发现你原来在窗口上画的控件一概不显示,怎么办呢?我是在这个窗口上再盖上另一个对话框,设置成启动窗体那种样式,所有消息 都在这个前景窗体上处理。
???? 问题又来了,前景窗体盖上去,后面窗口又看不见了,怎么办呢?我又想了办法,在前景窗体加了透明色,在这里我是用粉红色,因为在电脑中粉红色用的 最少,因为它很刺眼。用这个方法的缺点就是你的控件不能有粉红色。
???? 最后将两个按钮改成位图按钮即可。
???? 现在来看详细制作过程吧:
???? 定义成员变量:在TestDlg.h中定义
BLENDFUNCTION m_Blend;
HDC m_hdcMemory;
???? 改成层级窗体:在BOOL CTestDlg::OnInitDialog()函数中加入如下代码:
//窗体样式为0x80000为层级窗体
DWORD dwExStyle=GetWindowLong(m_hWnd,GWL_EXSTYLE);
SetWindowLong(m_hWnd,GWL_EXSTYLE,dwExStyle^0x80000);
???? 加载PNG图片:
//绘制内存位图
HDC hdcTemp=GetDC()-m_hDC;
m_hdcMemory=CreateC
您可能关注的文档
- NK细胞的发育分化与功能极化.pdf
- Nmap使用方法.doc
- NK细胞的发育_分化与识别机制.pdf
- NMake的原理及使用.doc
- no matter 用法初探.doc
- no matter 用法深入研究.doc
- Nobel Prize in Economics James Morris.doc
- Noise Effects in Fuzzy Modelling Systems.pdf
- Noise and Functional Protein Dynamics.pdf
- Noiseinduced Transition between Dynamic Attractors in the Parametrically Excited Magnetoo.pdf
- POCO C++库学习和分析 线程 (二).docx
- POCO C++库学习和分析 文件系统.docx
- Point Process Analysis of Vortices in a Periodic Box.pdf
- Poisson方程反问题的惟一性和稳定性.pdf
- Poisson方程有限差分逼近的数学Stencil及其应用.pdf
- Polyzos, “Analysis of a Multiple Content Variant extension.pdf
- PopStar教学设计.doc
- PON网络MAC地址欺骗引起PPPOE拨号认证失败的案例.doc
- portal工作原理.doc
- Postfix有关VirtualAliases虚拟表等概念之间的关系.doc
最近下载
- 信息系统等保安全方案.doc VIP
- 兴业银行信息技术专员岗位笔试选择题附笔试高分技巧.docx VIP
- 化工设计概论与化工制图课件第四章化工设备常用零部件简介.pptx VIP
- 高等教育5化工制图cad化工设备图中焊缝结构的表达.pptx VIP
- 化工设计概论与化工制图课件第七章车间布置设计.pptx VIP
- 新概念英语入门级6-10单元测试卷.pdf VIP
- 化工设计概论与化工制图课件第八章管道设计.pptx VIP
- 化工设计概论与化工制图课件第十章管道布置图.pptx VIP
- 化工制图cad8管道布置图.pptx VIP
- 统编版语文一年级下册2吃水不忘挖井人 课件(共54张PPT).pptx VIP
文档评论(0)