SetLayeredWindowAttributes未定义的解决方案
1 对于未定义的风格进行自定义
#define WS_EX_LAYERED 0x00080000
#define LWA_COLORKEY 0x00000001
2 动态链接函数
typedef
BOOL
(WINAPI *PFN_SETLAYEREDWINDOWATTRIBUTES)(
HWND hwnd,
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags);
PFN_SETLAYEREDWINDOWATTRIBUTES SetLayeredWindowAttributes = NULL;
HMODULE m_hUser32 = LoadLibrary(_T("User32.dll"));
SetLayeredWindowAttributes = (PFN_SETLAYEREDWINDOWATTRIBUTES)GetProcAddress(m_hUser32, "SetLayeredWindowAttributes");
如果想通过SetLayeredWindowAttributes函数来设置窗口的透明度,那么还要求窗口具有WS_EX_LAYERED的属性
// 设置分层扩展标记
#define WS_EX_LAYERED 0x00080000
SetWindowLong( m_hWnd, GWL_EXSTYLE, GetWindowLong(GetSafeHwnd(), GWL_EXSTYLE) | WS_EX_LAYERED);
然后就可以设置窗口的透明度了!
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)