- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、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
您可能关注的文档
- Module1Unit1 (part1)牛津版七年级.doc
- Module5nit2英语八年级上教案设计.doc
- Microsot Excel 基础培训课程教程.doc
- MOUMOU社建设实施方案(试行).doc
- MongoDB门需知(for phper).doc
- module7unit2全部知识点精讲精练1.doc
- MPAcc会计士未来十年将走怎样的路?报考性价比?.doc
- Module Book2 Fine Arts教学设计.doc
- mp3永远不会的英文歌 整理得辛苦啊.doc
- MPEG-2 S流ETR290测试浅谈.doc
- 半导体材料性能提升技术突破与应用案例分析报告.docx
- 半导体设备国产化政策支持下的关键技术突破与应用前景报告.docx
- 剧本杀市场2025年区域扩张策略研究报告.docx
- 剧本杀行业2025人才培训体系构建中的市场需求与供给分析.docx
- 剧本杀行业2025年人才培训行业人才培养模式创新与探索.docx
- 剧本杀行业2025年内容创作人才需求报告.docx
- 剧本杀行业2025年区域市场区域剧本市场消费者满意度与市场竞争力研究报告.docx
- 剧本杀市场2025年区域竞争态势下的区域合作策略分析报告.docx
- 剧本杀行业2025人才培训与行业人才培养模式创新.docx
- 剧本杀行业剧本创作人才心理素质培养报告.docx
最近下载
- 哪些因素会导致患上痛风的风险增加?.pptx VIP
- FlexSim:FlexSim二次开发与编程接口介绍.Tex.header.docx VIP
- 2024年新人教版9年级上册化学全册课件(新版教材).pptx
- 中国人身保险从业资格A5《寿险公司经营与管理》真题卷五.docx VIP
- 2025贵州毕节七星关区实验学校教师“跨校竞聘”60人笔试备考试题及答案解析.docx VIP
- 周围性面瘫患者的面神经功能训练专家共识.docx VIP
- 2025档案管理考试题及答案.doc VIP
- 2025年日历表格(打印版).xlsx VIP
- 如何做好电销人员的新人培训 .pdf VIP
- FlexSim:FlexSim模型验证与确认技术.Tex.header.docx VIP
文档评论(0)