VC6.0使用SetLayeredWindowAttributes实现透明效果
来源:互联网 发布:iptv网络电视连接不上 编辑:程序博客网 时间:2024/05/16 15:31
1.首先在stdafx.h那里添加定义
#define LWA_COLORKEY 0x00000001
#define LWA_ALPHA 0x00000002
typedef BOOL (FAR WINAPI *LAYERFUNC)(HWND,COLORREF,BYTE,DWORD);
2.
添加函数
BOOL CXXDlg::SetLayeredWindowAttributes(HWND hwnd,COLORREF crKey,BYTE bAlpha,DWORD dwFlags)
{
//要使使窗体拥有透明效果,首先要有WS_EX_LAYERED扩展属性,方法可以在CreateWindowEx时指定,
//也可以SetWindowLong动态设置。如下代码可设置分层窗口:
LONG t = GetWindowLong(m_hWnd, GWL_EXSTYLE);
t |= WS_EX_LAYERED;
SetWindowLong(m_hWnd, GWL_EXSTYLE, t);
//以上代码也可以通过ModifyWindow函数添加 WS_EX_LAYERED属性。
LAYERFUNC SetLayer;
HMODULE hmod = LoadLibrary("user32.dll");
SetLayer=(LAYERFUNC)GetProcAddress(hmod,"SetLayeredWindowAttributes");
BOOL bReturn = SetLayer(hwnd,crKey,bAlpha,dwFlags);
FreeLibrary(hmod);
return bReturn;
}
3.
在OnInitDialog()里面调用函数,添加以下代码:
SetLayeredWindowAttributes(m_hWnd,0,230/*这里设置透明度*/, LWA_ALPHA);
完毕,
然后也可以通过这个函数设置不规则窗口。
0 0
- VC6.0使用SetLayeredWindowAttributes实现透明效果
- 使用SetLayeredWindowAttributes API 实现透明窗口
- VC++ 实现整个对话框透明的效果SetLayeredWindowAttributes
- 用SetLayeredWindowAttributes实现窗口透明
- 窗体透明效果的实现 渐进式等SetLayeredWindowAttributes的用法
- xp下实现窗体透明特效SetLayeredWindowAttributes函数
- xp下实现窗体透明特效SetLayeredWindowAttributes函数
- xp下实现窗体透明特效SetLayeredWindowAttributes函数
- WinAPI透明窗体SetLayeredWindowAttributes
- 透明化窗口SetLayeredWindowAttributes
- 透明化窗口SetLayeredWindowAttributes
- 透明化窗口SetLayeredWindowAttributes
- 使用SetLayeredWindowAttributes函数设置窗口透明色与透明度
- VC6.0下透明窗体的实现
- WinAPI透明窗体SetLayeredWindowAttributes( 转)
- 透明化窗口SetLayeredWindowAttributes[转]
- VC6下实现透明对话框!
- (转)xp下实现窗体透明特效/异形窗口SetLayeredWindowAttributes函数
- 南阳理工OJ_题目488 素数环
- myeclipse2013 jad反编译插件安装
- C++中运用模版报“无法解析的外部符号”错误解决方法
- 2D01-View-Layout-Table-Layout
- mysql笔记2
- VC6.0使用SetLayeredWindowAttributes实现透明效果
- 数据结构专栏
- 这次可以想多远
- 深入理解JVM内幕
- 贪吃蛇学到的知识
- cppunit在vs2008下使用的环境搭建
- 【机器学习算法-python实现】决策树-Decision tree(2) 决策树的实现
- 根据apk 查询package名字和activity名称
- 日志表设计一例分析