关于透明窗口的显示

第1种

半透明窗口

//----------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  long lRt=GetWindowLong(Handle,GWL_EXSTYLE);
  lRt=lRt|WS_EX_LAYERED;
  SetWindowLong(Handle,GWL_EXSTYLE,lRt);
  SetLayeredWindowAttributes(Handle,clBlue,200,LWA_ALPHA);
}
//-----------------------------------------------------------------

第2种

早就想写一篇我这方面的心得, 一直特忙没有空, 不过这次点名找我, 就不好再缩头缩脑了.

其实我也还有很多问题没有解决, 在这里也向高手请教.

此篇在V-Galaxy BBS发表, 如要转贴请和作者联系info@ministars.com

1. Windows 2000 的GDI+扩充集

Windows 2000内部扩充了原有的GDI指令集, 将直接提供高效的图像处理指令如Alpha Blending等. 在Win2000里有一个专门的窗口风格WS_EX_LAYERED提供透明窗口的可能. Win2000还提供如 AnimateWindow(...)一类的API, 直接支持窗口动画.

有关连接

http://www.microsoft.com/hwdev/video/GDInext.htm

http://x.wonder.ca/stevex/nthack/

2. Win95/NT下的实现方法

既然Windows不提供现成的, 就只好自己做了. 原则上是这么过程:

a. 获取桌面的DC,生成一个兼容的Bitmap,送一个WM_PAINT消息,把桌面取到Bitmap里.(就像一个Screen Capture)

b. 把自己要开的窗口画到另一幅Bitmap

c. 用这两幅图片做Alpha Blending, 或者其他效果, 生成第三幅图.

d. 最后再把图片BitBlt出来

时间: 2025-01-31 05:38:19

关于透明窗口的显示的相关文章

在MFC透明窗口(layer window)中,如何设定光标?

问题描述 在MFC透明窗口(layer window)中,如何设定光标? 先概述一下,现在做一个项目,需要用一个windowless richedit 做一个文本框,然后实现文本框的编辑功能.由于某种原因,我需要将文本框的窗口设定为透明的.这样,就面对了一个问题,就是要在编辑状态下实现透明窗口光标的显示(以及其他功能,暂且不述),因为编辑状态如果连光标都无法显示编辑就无从谈起.现在所面对的问题是,我无法在透明窗口上显示光标. 下面详细的说一下问题的程序建立的步骤,我分析问题更多与透明窗口有关系,

WPF 做的窗口在 Vista下不能正确显示

问题描述 我的WPF窗口在Vista下不能正确显示,在xp下没问题.下面的链接图片是有问题的窗口.这现象不是总出现,但是试图拖动窗口大小时很容易重现.怀疑是微软的bug.有没有人知道原因?http://lsbbox.blogbus.com/files/12414295870.jpg 解决方案 解决方案二:不是吧?WPF应该在Vista下显示效果更好才对..解决方案三:楼上看下我的图片效果呢?我原来也以为应该很好,但是残酷的现实摆在眼前.要是搞不定我就惨了,老板会杀了我解决方案四:可以贴图吗?解决

IE8中显示“收藏夹栏”为灰色无法点击开启

  浏览器的收藏夹是我们平时用到的最多功能之一,为了更方便的打开收藏夹中的网页,在IE8浏览器下,我们可以在工具栏的空白处单击右键,然后选择"收藏夹栏"即可在工具栏上显示收藏网页.但是在IE8中可能会遇到"收藏夹栏"无法点击勾选的情况,故障如下: 解决方案: 若此问题出现在Win7系统中可通过修改组策略来解决问题. 提示:更改注册表设置有一定危险,可能会造成系统瘫痪,建议在进行操作之前,先对注册表进行备份 按下 Windows + R 键打开"运行&quo

解决win7系统所有中文显示乱码的方法教程

  在win7系统下我们如果把语言操作系统界面语言修改为英文后,有部分用户的电脑中的英文字体将显示乱码的问题,对于出现该问题是因为中文不是Unicode语言,用户在将系统语言设置为英文后,语言设置的非Unicode设置出问题而导致的,故此我们需要将非Unicode的语言修改为中文语言即可解决这个问题,下面我们看下具体的操作教程吧! 解决win7系统所有中文显示乱码的方法教程 1.点击开始菜单图标并单击打开控制面板. 2.在区域和语言设置-管理中,选择更改显示语言. 3.选择管理标签,并点击更改系

html-c# 提取微信文章中的图片是WEBP格式,如何转成JPG格式以便能够正常显示?

问题描述 c# 提取微信文章中的图片是WEBP格式,如何转成JPG格式以便能够正常显示? 根据微信文章地址,提取到了微信文章的HTML源文件,但图片是WEBP格式,并防盗链. 请问,如何通过C#方法,把WEBP转成JPG格式用于保存在本地以便可以正常浏览? 提取到的微信图片的地址如下: http://mmbiz.qpic.cn/mmbiz/Ek7ZheM28KXya0WfIFv58aNZEBb3YSWX9iaMJHLhuz7o5xNia68MItJfDya947ibSX1HVNpy9V3iaJr

MathType希腊字母无法显示怎么解决

  解决方法如下: 1.双击公式进入到MathType编辑窗口,选择"样式"--"定义". 在MathType窗口中选择"样式"--"定义" 2.将"希腊字母"."U.C希腊语"和"符号"的字体都改为"Symbol","确定".此时公式编辑器中的希腊字母上就不会出现"叉"号了. 将"希腊字母&quo

MathType公式显示问号怎么解决

  MathType公式显示问号怎么解决 1.双击显示有问题的公式进入到MathType编辑页面,点击"预置"--"公式预置"--"保存到文件",输入文件的名称,并保存到一定的路径下. 在预置中将公式保存为一个文件 2.在Word中的MathType菜单下,选择"格式化公式(Format Equation)"--"MathType公式选项(MathType preference file)",点击"

MathType求和符号显示为黑三角怎么回事

  解决方法如下: 1.打开MathType公式编辑器,选中显示异常的符号. 2.选择"样式"--"定义",在弹出的对话框中将"希腊符号"."u.c.希腊语"和"符号"全部设置为"Symbol".MathType求和符号就显示正常了. 在"样式"--"定义"中将"符号"的字体设置为Symbol MathType中符号显示不正确,

win8 日历中显示农历和节假日的方法

在Windows 8日历显示农历和节假日: 第一步.打开https://login.live.com/,登录自己的帐号,在Hotmail选项中选择日历,再点击订阅,进入订阅界面 第二步.日历输入: www.google.com/calendar/ical/khev4hvo95dho74k3km1joavc0%40group.calendar.google.com/public/basic.ics 第三步.节假日输入: ical.mac.com/ical/China32Public32Holida