如何实现对话框窗体仅仅背景透明而控件不透明
时间:2008-10-16
来源:互联网
那样就可以实现线条叠加在视频窗体上可。
用最新的SetLayeredWindowAttributes()函数可以实现背景透明,最理想的完全透明也可以实现,但这个函数的
缺点是对话框背景透明后,其上面的线条也透明了,就没有实现线条叠加在视频窗体上的效果了。
请问有没有别的方法实现仅对话框背景透明,而其上的线条和按纽是非透明的,感觉SetLayeredWindowAttributes()
函数无法实现我所需要的效果,有没有别的解决办法啊,谢谢了。
作者: yiwan209 发布时间: 2008-10-16
方法是:不要使用 SetLayeredWindowAttributes 函数,而是使用 SetWindowRgn 函数。把你的线条集合作为一个异形窗口的形状,这样天然实现了你想要的最理想的全透明,而且还兼容 Windows 2000 之前的操作系统。
作者: dandycheung 发布时间: 2008-10-16
作者: zzz822163 发布时间: 2008-10-16
SetWindowRgn倒是不会闪烁,但是对于复杂形状会比较麻烦,比如文字窗体。文字窗体虽然可以通过文字的路径转换成窗口边界,但是你如果希望得到良好效果的话,需要对文字进行反锯齿处理。
最好的方法是在DX表面直接绘制你的窗体。
作者: alfwolf 发布时间: 2008-10-16
作者: E_xplorer 发布时间: 2008-10-17
我也这么期待,虽然后期我那个线条是可移动的,但现在的问题是 SetWindowRgn 函数编译出错,说不是三个
参数,其实查询得到都是三个参数的,不知道你使用的时候有没有发现这个错误啊。
作者: yiwan209 发布时间: 2008-10-17
你说的那个函数我在使用,应该在SetLayeredWindowAttributes使窗体背景透明后 能使异形线条显示出来,
我也这么期待,虽然后期我那个线条是可移动的,但现在的问题是 SetWindowRgn 函数编译出错,说不是三个
参数,其实查询得到都是三个参数的,不知道你使用的时候有没有发现这个错误啊。
知道了 这个函数在API下是两个参数 在MFC下封装的只有两个参数,我现在已经不在使用这个异形线条办法来实现
我的要求了 因为这个SetWindowRgn 里 HRGN类成员里没有直线函数,有椭圆和矩形的
我现在在使用E_xplorer 介绍的办法,SetLayeredWindowAttributes可以设置某种颜色为透明啊,在这里你只要设置对话框的背景色为透明即可。
实验下 现在出在得到背景颜色的点上了。
欢迎大家一起来讨论
作者: yiwan209 发布时间: 2008-10-17
作者: Idle_ 发布时间: 2008-10-17
他的代码和解释如下:
一个对话框
想把指定的颜色的窗口背景透明掉
void CtestmfcDlg::OnBnClickedOk()
{
HDC dc = ::GetDC(this-> m_hWnd);
COLORREF cref = ::GetBkColor(dc);
//SetBkMode(dc,TRANSPARENT) ;
SetWindowLong(this-> m_hWnd , GWL_EXSTYLE,GetWindowLong(m_hWnd,GWL_EXSTYLE)|WS_EX_LAYERED);
::SetLayeredWindowAttributes(this-> m_hWnd ,cref , 127 , LWA_COLORKEY);
}
这样总是不成功 但改改可以把整个窗体给透明了
请问 我想把窗口的背景色透明了该怎么做
后来他解决了 这么说的:已解决 取背景色出错
请问上面代码有什么错的地方么,我现在不要解决透明后线条的移动问题,
现在首先要解决的是先把背景透明了线条和按钮显示出来先的问题,
请大家帮着一起看看上面的代码 那是能实现的 就是取背景色出了点问题造成的。
作者: yiwan209 发布时间: 2008-10-17

文章地址:
http://blog.csdn.net/Tinary3v0/archive/2008/10/19/3097884.aspx
下载实例地址:
http://download.csdn.net/source/700104
记住到文章中去看缺点和注意事项。
作者: Tinary3v0 发布时间: 2008-10-20
我觉得既然是自己的窗口,那么设定自己想的背景色就好了,一般设为RGB(255, 0, 255),这个颜色在任何图像中几乎不会用到.
作者: E_xplorer 发布时间: 2008-10-20
作者: yiwan209 发布时间: 2008-11-11
作者: liaoxiuhua 发布时间: 2009-02-01
作者: tzq861212 发布时间: 2009-05-24
作者: jiwangzi 发布时间: 2009-08-27
http://download.csdn.net/source/2375702
作者: china0451 发布时间: 2010-05-20
作者: toyuk 发布时间: 2010-06-01
作者: jic5566 发布时间: 2011-11-27
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28