`
mybwu_com
  • 浏览: 181326 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

VC实现透明背景和半透明图片

 
阅读更多
1.如何将对话框客户区的背景设成透明的?
crybird (寒号鸟)
http://expert.csdn.net/Expert/topic/2172/2172079.xml
描述:如题。客户区的背景能设成透明的么?如果有时间,非客户区的隐藏也讲讲啦!

回复人: bcpl(我是宇宙中的一粒沙子)
BOOL CALLBACK EnumChildFunc(HWND hwnd, LPARAM lParam)
{
CRgn *pRgn = (CRgn*)lParam;
CRect rcChild;
::GetWindowRect(hwnd, rcChild);
CRgn rgnChild;
CRgn rgnCopy;
rgnCopy.CreateRectRgn(0, 0, 1, 1);
rgnCopy.CopyRgn(pRgn);
rgnChild.CreateRectRgn(rcChild.left, rcChild.top, rcChild.right, rcChild.bottom);
pRgn->CombineRgn(&rgnCopy, &rgnChild, RGN_OR);
return TRUE;
}

int SetBackTransparent(CWnd *pWnd, BOOL bClientOnly = TRUE)
{
CRgn rgn;
if(bClientOnly)
{
CRgn rgnWindow, rgnClient;
CRect rcWindow, rcClient, rcRgn;
pWnd->GetWindowRect(rcWindow);
pWnd->GetClientRect(rcClient);
pWnd->ClientToScreen(rcClient);
rgnWindow.CreateRectRgn(rcWindow.left, rcWindow.top, rcWindow.right, rcWindow.bottom);
rgnClient.CreateRectRgn(rcClient.left, rcClient.top, rcClient.right, rcClient.bottom);
rgn.CreateRectRgn(0, 0, 1, 1);
rgn.CombineRgn(&rgnWindow, &rgnClient, RGN_DIFF);
}
else
{
rgn.CreateRectRgn(0, 0, 0, 0);
}
::EnumChildWindows(pWnd->GetSafeHwnd(), (WNDENUMPROC)EnumChildFunc,(LPARAM)&rgn);
return pWnd->SetWindowRgn(rgn, TRUE);
}
调用办法:
在CYourDialog::OnInitDialog里加上
SetBackTransparent(this);
如果要连非客户区都透明,用
SetBackTransparent(this, FALSE);
版主点评:
高手。

//---------------------------------------------------------------------------
http://expert.csdn.net/Expert/topic/2422/2422164.xml
主  题: 如何在一个背景图像上,做半透明的图?
作  者: DMC (DMC)

描述:
如何在一个背景图像上,做半透明的图。我想实现在一个地图上显示半透明的数据信息,类似天气预报中等压图的处理。如何才能实现这个背景图和最上层图的相互映射,完成半透明的效果?

回复人: Raxxxer(Jasmine Hellstorm)
你可以使用windows的一个api AlphaBlend,用法和BitBlt差不多:
BLENDFUNCTION bf;
bf.AlphaFormat=0;
bf.BlendFlags=0;
bf.BlendOp=AC_SRC_OVER;
bf.SourceConstantAlpha=100;//透明度0-255
AlphaBlend(hBackDC,0,70,73,20,hMaskDC,0,0,73,20,bf);
不可以在WindowsCE里用
#include <wingdi.h>
//还要在Project -- setting -- link 里连接上msimg32.lib

分享到:
评论

相关推荐

    vc小技巧和vc界面技术

    此包中有:VC实现透明背景和半透明图片.txt vc jpg 背景图.txt 怎么设置鼠标光标成为一个指定的 _ani形状以及使用vc编写小程序的一些技巧给大家分享,希望对大家有所帮助等资料

    VC位图背景弹出菜单加选中菜单半透明

    位图背景弹出菜单加选中菜单半透明,VC实现的小技巧。

    半透明背景图

    在对话框中显示半透明背景图

    VC++半透明窗体实现

    实现一个半透明的对话框窗体,效果很好,可以扩展为屏幕锁定软件,半透明窗体的透明度可以修改达到理想的透明效果,同时窗体的背景图片也可以随自己的心意去选择,编译平台:VC 6.0,VS 2005,VS 2008都可以,欢迎...

    VC 6.0 用文字实现透明窗口范例代码.rar

    VC 用文字实现的透明窗口,字形窗口,窗口以文字轮廓的形式展现,文字是一张BMP图片,也就是用BMP图片制作成的透明窗口,如示例截图所示,本窗口显示于Windows桌面之上,能看到桌面背景,这种使用图片实现的半透明...

    VB.NET 用PNG图片做的半透明窗体程序

    一直想做一个漂亮的窗体,但在网上搜索出来的一般都是Delphi、VC & VB,就没有找到VB.NET的...此源码只是做了一个基于PNG图片的窗体,控件就要自己实现了,图片中的控件是用另一个窗体实现的,做得不好就不发出来了.

    VC中对话框窗体背景透明而控件不透明

    VC中对话框窗体背景透明而控件不透明 VC中对话框窗体背景透明而控件不透明

    半透明窗口中显示标准控件(控件与文字不透明)的实现方案

    和大家分享一下在半透明窗口中显示标准控件的实现方案。通过层叠窗口可以简单实现半透明与不规则形状窗口的效果,但在其上显示标准控件(控件与文字不透明)却是件比较有挑战的事情,这里会给出一个可行的解决方案。...

    异形半透明背景窗口(基于MFC)

    基于MFC的半透明窗口(控件不透明)的实现。VC6.0代码。

    不规则窗口绘制。(png图片透明部分不会显示)

    可以不显示png图片(其他类型图片应该也可以)透明部分,实现不规则窗口。另有双缓冲的使用,已封装成类,使用方法简单,还有GDI+的使用已经dll和头文件,用VS2008编译通过。

    VC中GDI方法在Picture控件中显示PNG、bmp、jpg图片

    vc中在Picture空间中显示png图片,使用重载OnPain和对话框背景色覆盖原图的方法实现了png半透明的显示并且不会加重阴影。支持bmp、jpg等多种格式

    透明VC常用控件,透明静态框,按钮,拖动条

    使用位图作为背景,在此背景上的控件都可以透明

    VC实现炫眩qq界面的模拟(附源码)

    界面换肤 美化 异形窗口 vista 样式 透明窗体 自绘控件 vc vb delphi 编程 源码 代码 例子 磨沙 半透明 开发包 免费 破解 button dialog frame XP 下载 自绘按钮 菜单 标题栏 滚动条 listctrl treeview listview ...

    VC资料代码示例

    2009/07/05 08:49 16,252 半透明别的窗口.rar 2010/08/06 15:38 3,248 启动闪屏.rar 2007/10/01 13:41 22,160 图像与文字的合成.rar 2014/10/23 08:13 18,052 基于CWnd自绘控件使用TrackMouseEvent函数-TestCtrl.rar...

    VC++透明背景的奇怪窗体演示

    内容索引:VC/C++源码,界面编程,半透明 VC++透明背景的奇怪窗体演示源码,实现不规则的窗体,主要考查的是函数的使用,相对简单一点,VC入门朋友适合参考。

    VC++窗口背景图透明度渐变示例

    内容索引:VC/C++源码,其它分类,半透明,渐变 VC++源代码实现Windows窗口的渐变背景,图片背景图慢慢淡出,然后慢慢淡出,在淡出的过程中第二张图渐渐出现,淡入淡出的交替转场效果,如上图可看到一些效果,你最好...

    Visual C++ 程序开发范例宝典光盘源码 (第二版) 2/7

     实例041 半透明窗体   实例042 创建字型窗体   实例043 设计桌面精灵   1.12 通用对话框的应用   实例044 打开位图预览对话框   实例045 打开Windows新型对话框   实例046 同时选择多个文件  ...

    YinRan Mini Lock 2010年圣诞版=。=

    半透明锁屏画面·· 可自选锁屏画面JPG、GIF、BMP、png 等多种格式·· …… 使用静态库 可独立运行 ·· 中南民族大学民大论坛原创软件··· 兼容性:兼容所有XP和部分WIN7 不兼容VISTA系统·· 本软件小覃...

    java源码包---java 源码 大量 实例

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

Global site tag (gtag.js) - Google Analytics