社区
界面
帖子详情
mfc 窗口透明的问题~~
酥破曼
2009-07-23 08:24:23
现有一个mfc程序 里面有个flash的ocx控件~~~怎么把背景等全部透明 只留下那个播放的flash~~~
本人初学,希望各位高手详细指点~~~多多感谢~~~~
...全文
266
9
打赏
收藏
mfc 窗口透明的问题~~
现有一个mfc程序 里面有个flash的ocx控件~~~怎么把背景等全部透明 只留下那个播放的flash~~~ 本人初学,希望各位高手详细指点~~~多多感谢~~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zoulie
2009-07-24
打赏
举报
回复
[Quote=引用 8 楼 dodogun 的回复:]
你是要透明对话框窗品吗?
本人的代码:
DWORD dwExStyle = ::GetWindowLong(GetSafeHwnd(), GWL_EXSTYLE);
if ((dwExStyle & 0x80000) != 0x80000)
{
::SetWindowLong(GetSafeHwnd(), GWL_EXSTYLE, dwExStyle ^ 0x80000);
}
COLORREF m_clrMask = RGB(255,255,255);
typedef int (WINAPI* LPFUNC)(HWND, COLORREF , BYTE, DWORD);
HINSTANCE hins = ::LoadLibrary("User32.DLL");
if(hins)
{
LPFUNC func2 = (LPFUNC)GetProcAddress(hins,"SetLayeredWindowAttributes");
if(func2)
{
func2(GetSafeHwnd(), 0, 230,2);//LWA_ALPHA//
/*
hwnd是透明窗体的句柄,
crKey为颜色值,// 掩码的颜色,可以用RGB(r,g,b)来指定
bAlpha是透明度,取值范围是[0,255],
dwFlags是透明方式,可以取两个值:
当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效;
当取值为LWA_COLORKEY时,窗体中的所有颜色为crKey的地方将变为透明,bAlpha参数无效。
LWA_ALPHA = 0x2
LWA_COLORKEY=0x1
也可以取两个值的组合:LWA_ALPHA Or LWA_COLORKEY。这样crKey的地方将变为全透明,而其它地方根据bAlpha参数确定透明度。
要使使窗体拥有透明效果,首先要有WS_EX_LAYERED扩展属性
(旧的sdk没有定义这个属性,所以可以直接指定为0x80000).
WS_EX_LAYERED = 0x80000
*/
}
FreeLibrary(hins);
}
[/Quote]
这个是设置整个窗口包括子窗口都是透明的
dodogun
2009-07-24
打赏
举报
回复
你是要透明对话框窗品吗?
本人的代码:
DWORD dwExStyle = ::GetWindowLong(GetSafeHwnd(), GWL_EXSTYLE);
if ((dwExStyle & 0x80000) != 0x80000)
{
::SetWindowLong(GetSafeHwnd(), GWL_EXSTYLE, dwExStyle ^ 0x80000);
}
COLORREF m_clrMask = RGB(255,255,255);
typedef int (WINAPI* LPFUNC)(HWND, COLORREF , BYTE, DWORD);
HINSTANCE hins = ::LoadLibrary("User32.DLL");
if(hins)
{
LPFUNC func2 = (LPFUNC)GetProcAddress(hins,"SetLayeredWindowAttributes");
if(func2)
{
func2(GetSafeHwnd(), 0, 230,2);//LWA_ALPHA//
/*
hwnd是透明窗体的句柄,
crKey为颜色值,// 掩码的颜色,可以用RGB(r,g,b)来指定
bAlpha是透明度,取值范围是[0,255],
dwFlags是透明方式,可以取两个值:
当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效;
当取值为LWA_COLORKEY时,窗体中的所有颜色为crKey的地方将变为透明,bAlpha参数无效。
LWA_ALPHA = 0x2
LWA_COLORKEY=0x1
也可以取两个值的组合:LWA_ALPHA Or LWA_COLORKEY。这样crKey的地方将变为全透明,而其它地方根据bAlpha参数确定透明度。
要使使窗体拥有透明效果,首先要有WS_EX_LAYERED扩展属性
(旧的sdk没有定义这个属性,所以可以直接指定为0x80000).
WS_EX_LAYERED = 0x80000
*/
}
FreeLibrary(hins);
}
konj
2009-07-24
打赏
举报
回复
搜索 TRANSPARENT
fuhuiming
2009-07-24
打赏
举报
回复
ON_WM_CTLCOLOR()中pDC->SetBkMode(TRANSPARENT);
酥破曼
2009-07-23
打赏
举报
回复
顶起~~各位高手详细指点啊~~~~~
酥破曼
2009-07-23
打赏
举报
回复
拜托详细讲一下嘛~~~
写不动代码的人
2009-07-23
打赏
举报
回复
http://www.vckbase.com/document/viewdoc/?id=768
酥破曼
2009-07-23
打赏
举报
回复
[Quote=引用 1 楼 trasin8848 的回复:]
ON_WM_CTLCOLOR()
[/Quote]
大侠~~具体解释解释啊~~
古月无华
2009-07-23
打赏
举报
回复
ON_WM_CTLCOLOR()
MFC
普通
窗口
重绘
MFC
普通
窗口
重绘,有什么不懂的可以随时到我的博客留言http://www.gymsaga.com/,我会尽早解答您的
问题
,更多
MFC
实例讲解,请登陆我的博客。
MFC
非客户区完美自绘
标题栏自绘是很多初学者最苦恼的
问题
,目前网上的例子要么是系统默认的标题按钮时不时的会重现出来,要么是影响了
窗口
非客户区原来默认的行为(去掉系统菜单)等等,各种的不如意,于是本人研究试验了下,感觉这个是比较完美的了,不影响任何原来
窗口
的特性,比如标题栏系统菜单等,要么是把非客户区去掉了,然后自己模拟,笔者也有这样处理过,不过这里只演示非客户区标题栏绘制的例子,特发此贴以飨读者。
C++
MFC
实战速成教程(VS2013)上
让零基础朋友快速掌握
MFC
的开发,进入到C++的Windows编程之殿堂。
MFC
规模庞大,结构复杂,导致很多初学者学习困难。本教程,则排除一切对初步者的干扰,从
MFC
庞大的结构中,单刀直入,取出最核心的类,以简明易懂的...
(源码)百分百仿360安全卫士界面和仿360新版特性
窗口
源码.rar
完全模仿360安全卫士新版特性源码,编译环境:本示例程序使用VS2005编写,在VC6,VC2003,VC2008,VC2010中进行少量修改即可直接使用,有
问题
请联系11259500@qq.com。另外包含完全模仿360安全卫士的界面,可换肤,可缩放。其中包括360配置界面,360换肤界面360自定义滚动条,360托盘菜单,360新版特性界面等。可以兼容360安全卫士皮肤文件,使用VC开发,未使用除GDI+,
MFC
以外其它第三方界面库。
MFC
透明
窗口
问题
:
窗口
移动,背景
透明
解决
父子
窗口
,父
窗口
透明
,子
窗口
绘制控件 子
窗口
设置
透明
衍射rgb(255,0,255)
把控件的绘制底色设置成这个颜色就可以实现控件边缘
透明
,字体也是
处理单击选中移动:OLButtonDown{
PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y);
}
#include "stdafx.h"
#include "
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章