强烈关注
肯定可以实现,win2000的菜单就是fader出来的,只要不改变alpha值(透明度),既不产生fader效果,就是半透明的。
我知道用SetLayeredWindow生成透明窗体,用UpdateLayeredWindow改变Alpha值
肯定可以实现,win2000的菜单就是fader出来的,只要不改变alpha值(透明度),既不产生fader效果,就是半透明的。
我知道用SetLayeredWindow生成透明窗体,用UpdateLayeredWindow改变Alpha值
解决方案 »
- 对话框之间参数传递
- WSARecv总是错误!
- 线程里面写调用存储过程出现错误
- 有一个专门连接数据库、执行、退出的线程,但ado长时间执行无响应时,强制结束掉这个线程后,该执行线程在oracle那边还是存在
- 问一下简单地文件替换写入啊
- 有人用过console application做过exe程序,实现数据库的寸取的功能么?
- 请问如何将一个结构体和listview绑定??绑定后listview是不是相当于一个结构体数组
- 关于简单的数据库的问题--〉
- 关于HTTP代理的实现
- 请介绍一个能测试VC代码哪部分耗时多少的工具.
- 浮动工具条的问题,请行家指点!
- 哪里有<windows 核心编程>的配书代码下载???
如果要在所有的Win32平台运行的话,恐怕只有自己做了!不过好像这也不是特别难。你有没有注意到一点:menu在显示中差不多是位置固定的。这就比较好办了。你自己写一个菜单窗口(TrackPopupMenu也是这么做的,它的窗口类名好像是#32767),并且在窗口显示以前把背景存下来(就像抓图程序那样),然后在它的OnPaint()里面首先把菜单内容画在一个内存DC里。接下来,把这个DC和背景DC使用Alpha结合即可产生任意透明度。 使用的技术几乎都是很常规的,只是综合起来就没那么容易了,呵呵。最后提醒一下:这种方法有个缺陷,即它假定背景是静态的。如果你那个view是动画的话。。呵呵。。自己想办法吧。搞定了别忘了告诉我。
如果要在所有的Win32平台运行的话,恐怕只有自己做了!不过好像这也不是特别难。你有没有注意到一点:menu在显示中差不多是位置固定的。这就比较好办了。你自己写一个菜单窗口(TrackPopupMenu也是这么做的,它的窗口类名好像是#32767),并且在窗口显示以前把背景存下来(就像抓图程序那样),然后在它的OnPaint()里面首先把菜单内容画在一个内存DC里。接下来,把这个DC和背景DC使用Alpha结合即可产生任意透明度。 使用的技术几乎都是很常规的,只是综合起来就没那么容易了,呵呵。最后提醒一下:这种方法有个缺陷,即它假定背景是静态的。如果你那个view是动画的话。。呵呵。。自己想办法吧。搞定了别忘了告诉我。
#define LWA_COLORKEY 0x00000001
#define LWA_ALPHA 0x00000002typedef BOOL (*_SetLayeredWindowAttributes)(HWND,COLORREF,BYTE,DWORD);
_SetLayeredWindowAttributes SetLayeredWindowAttributes;
__declspec( dllexport )
void SetLayered(HWND hWnd,int Pos)
{
SetLayeredWindowAttributes
= (_SetLayeredWindowAttributes)GetProcAddress(
GetModuleHandle("user32.dll"),
"SetLayeredWindowAttributes");
if ( SetLayeredWindowAttributes == NULL )
return ;
else{
__try{
SetWindowLong(hWnd,GWL_EXSTYLE,
GetWindowLong(hWnd,GWL_EXSTYLE)|WS_EX_LAYERED);
SetLayeredWindowAttributes(hWnd,RGB(0,0,0),Pos,LWA_ALPHA);
}
__except(EXCEPTION_EXECUTE_HANDLER){
AfxMessageBox("SYSTEM FALSE");
}
}
因为我的半透明菜单是要在Video上显示的,所以大家的所有方法都不能用!
我的的解决办法是用COM,在显示的时候,MS是把Video用很多所谓的output pin和inpin来
一层层连起来的,于是我的COM就是把Video Render的pin打断,然后连上我的COM来接管这些
pin,这样,我就可以操作一个frame的图象数据了,于是我在用半透明算法来实现把一个位图
和背景融合起来显示,TNND,效果空前的好,而且可以随意的实现对Video的变形、变色、变
.........嘿嘿,现在你想怎么边我就可以做到了
当然也是要进行菜单自绘的:)fd_mas:)你能不能把代码给我看看呀,我的邮件地址[email protected]谢了
怎么做到的,能不能和小弟共享一下?
[email protected]