文档章节

WinAPI: SetLayeredWindowAttributes - 设置窗口的透明

涂孟超
 涂孟超
发布于 2014/09/26 15:38
字数 215
阅读 4
收藏 0
点赞 0
评论 0
这是来宾 Dolby 在 http://www.cnblogs.com/del/archive/2008/03/08/1081295.html#1096814 询问的问题.
//声明:
SetLayeredWindowAttributes(
  Hwnd: THandle;   {窗口句柄}
  crKey: COLORREF; {透明色}
  bAlpha: Byte;    {Alpha 值}
  dwFlags: DWORD   {LWA_COLORKEY(=1)表示使用透明色; LWA_ALPHA(=2)表示使用 Alpha 值}
): Boolean;        {是否成功设置}

 
 
 
 
 

 

 

  
//举例(控制外部程序的透明度, 用计算器举了个例子): unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} {设定计算器的 Alpha 透明} procedure TForm1.Button1Click(Sender: TObject); var h: HWND; FormStyle: Integer; begin h := FindWindow('SciCalc', nil); FormStyle := GetWindowLong(h, GWL_EXSTYLE); SetWindowLong(h, GWL_EXSTYLE, FormStyle or WS_EX_LAYERED); SetLayeredWindowAttributes(h, 0, 128, LWA_ALPHA); end; {设定计算器中的白色透明} procedure TForm1.Button2Click(Sender: TObject); var h: HWND; FormStyle: Integer; begin h := FindWindow('SciCalc', nil); FormStyle := GetWindowLong(h, GWL_EXSTYLE); SetWindowLong(h, GWL_EXSTYLE, FormStyle or WS_EX_LAYERED); SetLayeredWindowAttributes(h, clWhite, 255, LWA_COLORKEY); end; end.

本文转载自:http://www.cnblogs.com/del/archive/2008/03/08/1096874.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2004
码字总数 14107
作品 0
深圳
程序员
VC6.0使用 SetLayeredWindowAttributes函数

USER32.DLL SetLayeredWindowAttributes函数 SetLayeredWindowAttributes函数: hwnd是透明窗体的句柄, crKey为颜色值, bAlpha是透明度,取值范围是[0,255], dwFlags是透明方式,可以取两个...

IMGTN ⋅ 2012/06/13 ⋅ 0

使窗口实现“淡入淡出”效果(非原创)

使窗口逐渐浮现,退出时逐渐消失,这主要是通过设置增强窗口样式为图层窗口,然后设置窗口的alpha值来实现的。在c#中,对应的是Form.Opacity属性。这是老外的一篇帖子里面提到的,但我对代码...

hoodlum1980 ⋅ 2008/01/30 ⋅ 0

透明框架窗口

如何让整个窗口具有透明效果呢? 使用如下的类: // class CLayeredImpl // Layered Window template class ATLNOVTABLE CLayeredImpl { public: HMODULE m_hUser32LWA; CLayeredImpl() { }......

长平狐 ⋅ 2012/08/28 ⋅ 0

C# 透明窗体制作方法

制作透明窗体办法有好几种,各有优缺点. 我们先来看看C#本身提供的办法 1:通过设置窗体的 TransparencyKey实现    例:窗体中的白色会变成透明 this.BackColor =Color.White; this.Transp...

铂金小猴 ⋅ 2012/12/07 ⋅ 0

设置对话框的背景颜色及设置透明

现说设置背景颜色。 我用了很多方法都不行,查了很多资料,现在说一下解决方案吧。 在XXXXXXDlg.头文件的protected:中加入CBrush m_brush; 在XXXXXXDlg.cpp文件中的OnInitDialog()初始化函数...

霄霄月月 ⋅ 2012/05/08 ⋅ 0

VC++界面编程总结

一、改变视图背景色: 在CView的OnDraw函数中添写如下一段程序代码: void CFileNameView::OnDraw(CDC* pDC) { CFileNameDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CRect rectClien......

junwong ⋅ 2012/03/09 ⋅ 1

SetLayeredWindowAttributes 设置窗口透明

#ifndef ROPWINDOWH_ define ROPWINDOWH_ include "stdafx.h" class RopWindow : public CWindowImpl<RopWindow>{public:DECLAREWNDCLASS("rop widnow") BEGINMSGMAP(theClass)MESSAGEHANDLE......

小熊猫大暴走 ⋅ 2013/02/28 ⋅ 0

[Beautifulzzzz的博客目录] 快速索引点这儿O(∩_∩)O~~,红色标记的是不错的(⊙o⊙)哦~

3D相关开发 [direct-X] 1、direct-X最小框架 [OpenGL] 1、环境搭建及最小系统 [OpenGL] 2、企业版VC6.0自带的Win32-OpenGL工程浅析 51单片机 [51单片机] 1602液晶显示控制代码 [51单片机] 1...

史迪奇2号 ⋅ 2017/08/01 ⋅ 0

vc编程的ime输入法菜单开发

WINDOWS 下 IME 编程 IME 编程心得 第一章 Windows9x 系统下汉字输入法的基本原理 第二章 Windows9x 系统提供的 ime 管理函数 第三章 ime 文件中必须使用的结构 自由拼音输入法的测试 输入法...

crossmix ⋅ 2014/12/07 ⋅ 3

Win32多语言IME应用程序编程接口(API)

十三、IMM函数 1、IMM用户界面函数 以下是用户界面窗口可以使用的输入法管理器函数。应用程序也可以使用它们改变输入法的状态。 ImmGetCompositionWindow ImmSetCompositionWindow ImmGetCa...

yousss ⋅ 04/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Gitee 生成并部署SSH key

1.如何生成ssh公钥 你可以按如下命令来生成 sshkey: ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # Generating public/private rsa key pair...# 三次回车即可生成 ssh key 查看你的 ...

晨猫 ⋅ 30分钟前 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部