透明窗口




在OnInitDialog()加入:
//加入WS_EX_LAYERED扩展属性
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,
GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hInst
= LoadLibrary("User32.DLL");
if(hInst)

{

typedef
BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC
fun = NULL;
//取得SetLayeredWindowAttributes函数指针

fun=(MYFUNC)GetProcAddress(hInst,
"SetLayeredWindowAttributes");
if(fun)fun(this->GetSafeHwnd(),0,128,2);

FreeLibrary(hInst);

}

透明窗口,布布扣,bubuko.com

时间: 2024-10-12 18:35:51

透明窗口的相关文章

桌面透明窗口程序渲染

市面上基本所有的3D游戏都依赖一个普通的windows窗口,包含标题栏.边框.最小化.最大化.关闭按钮.窗口的大小决定了玩家可视的游戏空间,整个窗口的像素都被游戏内容填充满,窗口背景不是透明的.渲染时,只要创建一个主渲染缓冲区,将各元素渲染在上面,再显示就可以了. 本文介绍一种方法,窗口的背景是透明的,窗口中只渲染主要的游戏元素,比如主角,而windows桌面就是舞台,你可以看到你的角色在桌面上奔跑,还可以用鼠标与它交互,如图: 采用类似技术的游戏有"哈姆宝宝"."宠物王国&

透明窗口(窗口上面文字图片等内容不透明)的实现

本文讨论通过SetLayeredWindowAttributes来实现本文的目的. SetLayeredWindowAttributes的实现必须将窗口设置为WS_EX_LAYERED的扩展风格.   然而,只有WS_POPUP窗口才能设置WS_EX_LAYERED的扩展风格.这就意味着只能够在POPUP的窗口中实现透明窗口,而在WS_CHILD风格的窗口中是不能够实现的. 当初我就是试了半天发现不行的. SetLayeredWindowAttributes的原型如下: [cpp] view p

gdi+ 快速绘制透明窗口

gdi+ 快速绘制透明窗口: 方法一: 1.用Iamge对象加载png资源, 2.调用drawimage函数讲图片绘制出了 3.UpdateLayeredWindow对窗口进行布局 方法二: 1.用Bitmap对象加载资源 2.通过CDC选中,再用bitblt拷贝或者AlphaBlend融合到目标CDC上. 3.UpdateLayeredWindow对目标CDC上的hdc进行布局,达到融合背景的效果. 方法一是比较常规的方法,但是drawimage函数的效率太低,如果要实现实时更新的话就会有问题

win32下实现透明窗口

最开始写透明窗口的代码,在百度了之后,找到了SetLayeredWindowAttributes()这一个函数,但是由于网上案列的缺少,使得很多人无法很好的使用这一个方法,我花了几天的时间写了一个实现窗口透明的类,在这里放出来,给大家使用 #define WS_EX_LAYERED 0x00080000 #define LWA_COLORKEY 0x00000001 #define LWA_ALPHA 0x00000002 class CTransparent { public: static

2019-11-27-WPF-全屏透明窗口

原文:2019-11-27-WPF-全屏透明窗口 title author date CreateTime categories WPF 全屏透明窗口 lindexi 2019-11-27 09:22:19 +0800 2019-11-27 08:48:26 +0800 WPF 本文告诉大家如何在 WPF 做一个全屏的透明窗口,和全屏透明窗口的坑 使用下面代码就可以作出全屏透明窗口 public MainWindow() { InitializeComponent(); AllowsTransp

关于非对话框的透明窗口

#include "StdAfx.h" #include "TransWnd.h" CTransWnd::CTransWnd(void) { const TCHAR szClassName[] = TEXT ("TransWindow") ; WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = DefWindowProc ; w

关于截屏截取不到透明窗口的问题

最近试过几套截图软件,发现其中有些无法实现对半透明窗口或主题的图片截取,包括早期版本的QQ截图工具也无法截取,写一个简单抓屏函数的来测试下,以下采用Win32 API方式编写: int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; // 初始化 MFC 并在失败时显示错误 if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)

C++ 中超类化和子类化常用API

在windows平台上,使用C++实现子类化和超类化常用的API并不多,由于这些API函数的详解和使用方法,网上一大把.本文仅作为笔记,简单的记录一下. 子类化:SetWindowLong,GetWindowLong,CallWindowProc,FindWindowEx 超类化:GetClassInfoEx,RegisterClassEx,UnRegisterClass 以上函数在代码中的使用见<C++ 中超类化和子类化> VC中基于SDK编程的窗口子类化 VC中基于SDK编程的窗口子类化的

android FakeWindow的小应用大用途

在windowmanager里面有一个FakeWindow,细致一看也就是一个透明的应用覆盖到屏幕的最前端,这样有什么优点呢?首先我们还是从应用的需求来看这个问题.在android系统里无论是手机还是平板,状态栏一般都是在的,导航栏在有些设备里面是没有的,由于android须要的那些HOME\BACK\MENU\SERCACH可能已经做在触摸屏上,或者是其它一些低成本的触摸小按键上或者硬按键上,可是也有非常多机器是没有这些的,那么就须要一个导航栏了,这样前期背景就清楚了. 有了导航栏跟状态栏,好