mfc窗体透明方法
来源:互联网 发布:莫言哪本书最好看知乎 编辑:程序博客网 时间:2024/05/05 23:52
SetLayeredWindowAttributes():(详见MSDN)
BOOL SetLayeredWindowAttributes(
HWND hwnd, // handle to the layered window
COLORREF crKey, // specifies the color key
BYTE bAlpha, // value for the blend function
DWORD dwFlags // action
);
<Requirements>
Windows NT/2000/XP: Included in Windows 2000 and later.
Windows 95/98/Me: Unsupported.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.
一些常量:
WS_EX_LAYERED = 0x80000;
LWA_ALPHA = 0x2;
LWA_COLORKEY=0x1
其中dwFlags有LWA_ALPHA和LWA_COLORKEY
LWA_ALPHA被设置的话,通过bAlpha决定透明度.
LWA_COLORKEY被设置的话,则指定被透明掉的颜色为crKey,其他颜色则正常显示.
注:要使使窗体拥有透明效果,首先要有WS_EX_LAYERED扩展属性(旧sdk也没有的).
在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【设置透明度值在0-255】,2);
FreeLibrary(hInst);
}
- mfc窗体透明方法
- MFC窗体透明
- mfc窗体透明2
- MFC实现窗体透明
- MFC实现窗体透明
- MFC设置窗体透明
- 用MFC实现窗体透明
- 用MFC实现窗体透明
- mfc控件透明方法
- c#窗体透明小方法
- VB窗体透明实现方法
- 透明窗体实现 - C++ & MFC & API
- MFC轻松打造绚丽的透明窗体
- C++之MFC设置透明窗体
- MFC 窗体背景透明 或 加载图片
- 2014.03.21 MFC 设置窗体透明
- .net窗体透明,控件不透明的方法
- C#实现按钮透明,窗体透明的方法
- 从3DM到PARTITION问题的规约
- Linux 嵌入式启动流程 --uboot->kernel->filesystem->app
- 【转载】.align用法分析
- java 关于-2>>3之类的移位问题
- 面向对象设计原则
- mfc窗体透明方法
- 自准备写shell解释器以来
- MATLab常用的LaTex字符
- 转:信号量semphore
- APPlication,Session,Cookie,ViewState和Cache之间的区别
- 使用nat上网,虚拟机无法上网解决方案之一(主机ping通虚拟机,虚拟机ping不通主机)
- Process Explorer 进程树丢失问题的解决
- 获取文件属性并显示
- java 10个窗口卖100张票的实例