三九宝宝网宝宝百科宝宝知识

MFC对话框简单实现窗口全透明的方法

11月11日 编辑 39baobao.com

[孩子嘴巴长透明水泡怎么回事]孩子嘴巴长透明水泡怎么回事:上火症状:1、小便黄而混,大便很干,呈栗粒状,三五天才便便一次。而且排便过程很困难,一拉便便就疼痛哭闹。2、嘴巴生疮,唾液分泌减少,不肯吃饭甚至不愿...+阅读

前言:

在Vista系统中利用dwapi.dll实现窗体全透明的方法,在网上更多的资源是基于WTL或是C&emsp,借此发布一下基本MFC对话框实现此此功能的最简单的方法。

本方法只是实现整个程序的窗口界面(包括客户区)呈现半透明的效果,因此很简单。编译及运行需要 Windows Vista 或者 Windows Server 2008 系统的支持并且需要开启透明功能才能显示其效果。效果图改日回家附上。

因为实现方法未包含系统检测,未作其它系统(即XP、200、98)的处理方式,在这些系统中运行会报错。

实现方法:

1、创建工程,打开Visual Studio 2005 或者 Visual Studio 2008 创建基本MFC的对话框程序,在例子中我采用的工程名是VcAeroGlass。

2、在stdafx.h中添加利用dwapi.dll的声明

stdafx.h

&emspinclude

&emsppragma ment(lib,"dwmapi")

3、在对话框实现文件VcAeroGlassDlg.cpp的初始函数OnInitDialog()中作如下添加:

BOOL CVcAeroGlassDlg::OnInitDialog()

{

CDialog::OnInitDialog();

............................

系统自动成,省略

MARGINS mar;

mar.cxLeftWidth = -1;

mar.cxRightWidth = -1;

mar.cyTopHeight = -1;

mar.cyBottomHeight =-1;

CRect rectClient;

GetClientRect (rectClient);

mar.cyTopHeight = rectClient.Height ();

DwmExtendFrameIntoClientArea (CDialog::GetSafeHwnd(),

return TRUE;

}

4、在实现文件的绘制函数OnPaint()中作考试大提示如下添加:

void CVcAeroGlassDlg::OnPaint()

{

CPaintDC dc(this); 用于绘制的设备上下文

CRect rcGlassArea;

GetClientRect (

dc.FillSolidRect (

............................

系统自动成,省略

}

5、编译运行程序即可看到效果。

源码以上传:

For VC2005: : download.csdn./source/710225

For VC2008SP1: : download.csdn./source/710216

以下为关联文档:

土地出让金改革理清“家底”让土地更透明《土地出让金收支管理办法》草案的公布时间虽然尚未确定,但是草案的基本框架业已呈现。业内专家认为,《土地出让金收支管理办法》的出台是推进公共财政改革的重要一步,“把家底...

小孩手指有小水泡是什么这些透明小水泡原来是这个如果说宝妈们最关心的事情是什么,那一定就是宝宝的健康问题了,特别是现在的孩子都是娇生惯养的存在,是全家人的宝贝,一旦宝宝出现了一点点不正常的症状,就会引发全家人的担心!可能...

将自定义文件夹放入对话框利用工具软件,修改常用对话框左侧的图标指向。使用电脑的朋友说不定每天都会用到“打开/保存”文件对话框,但大多数情况下,咱们都要去设置文件保存的位置,难道左侧的那几个图标...

从Oracle到SQLServer的透明网关配置racle 9.2.0.1.0 ip:192.168.1.22 port:1521sql2000 ip:192.168.1.12 db: db1说明,透明网关可以跟oracle,sql server2000数据库在同一台机器或者不同机器,本例是跟oracle是同...

找回一颗透明的心两岁那年,一场高烧之后我的双腿因小儿麻痹致残。从此,爸妈的叹息代替了昔日的欢笑,我也因此失去了缤纷的童年。残疾决定了我的痛苦,别的女孩受到的是宠爱和赞美,而我却只能得到...

透明隔热水晶涂膜玻璃目前,我国建筑能耗远高出世界其他发达国家的建筑能耗水平。2001年我国建筑能耗占能源消费总量的27.5%。其中:外墙为4-5倍,屋顶为2.5-5.5倍,外窗为1.5-2.2倍。建设部要求到2010年全国...

薪资不透明,到底怎么谈薪招聘薪资有水分,怎么抬价? 迷途车迷:关于谈薪酬,例如招聘信息展示的薪酬是6k—10k,这个怎么谈?实际面试之后往往觉得写出这个数字的企业,都是想用6-8k请人的。 无忧专家:给出你的目...

设置对话框的背景颜色和设置控件的字体颜色或背景颜色关于设置对话框的背景颜色,和设置控件的字体颜色或背景颜色: 首先要为对话框添加消息映射,主要是: BEGIN_MESSAGE_MAP(CXXXDlg, CDialog) ON_WM_ERASEBKGND() 背景色 ON_WM_CTLC...

推荐阅读
图文推荐