求助关于VC子对话框透明度问题 我用VC中的picture控件做一个播放视频的窗口,并用另一个子对话框来显示波形,希望做到半透明的子对话框嵌入到picture控件上用来显示波形,我调用user32.dll实现了子窗口的半透明化,并且在父对话框的大部分位置上子对话框能实现半透明的效果,但是唯独在播放视频的picture控件上不能实现半透明效果,问各位大哥大姐大虾们是什么原因啊?我已经把子对话框置于piture控件之上啦,还是不行啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没办法,我曾经遇到类似的情况,在VISTA下可以实现半透明,在XP下大部分机器上都不能实现半透明效果。粗糙的解决办法是重置并刷新一下硬件加速设置就能显示,但随之而来会有好多问题。最终的解决办法是利用 VMR9 + GDI进行绘制 上楼大侠,能否给我详细介绍一下这个解决方法啊,我没有用过VMR9+GDI啊,小弟在此不胜感激。 自己下一个 DirectX SDK ,在DirectShow 目录下有VMR的示例 调用 user32.dll来使窗口半透明,只对顶层窗口有效吧? 请问bdzwj大侠,能否用vmr+gdi在视频流上进行实时绘制波形? 请问bdzwj大侠,能否用vmr+gdi在视频流上进行实时绘制波形? 能!两种办法,一种是直接使用 ID3DXLine 接口直接在VMR9 输出的时候绘制,一种方法你可以通过GDI把波形绘制到HBITMAP, 然后把HBITMAP转成成D3D纹理,然后直接用ID3DSprit对象绘制输出。 具体怎么实现就需要你参考PSDK 或者 DSDK了。 再借问一下胡侃大侠,我实现的是实时画矩形方块,好像不能用ID3DXLine来画哦,请问,我应该用哪个函数或者接口来画呢?谢谢啦。 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,200,2);//0--255 FreeLibrary(hInst); ....漏了一个}加到::OnInitDialog()里。 SetLayeredWindowAttributes此函数不能再属性为 child none 的子对话框中实现吧! 局域网,怎样访问共享文件,对其他计算机上的共享文件进行读写操作 急,遇到一个奇怪的问题 对话框中的标签是怎么做出来的? 刚接触使用Vc开发svg,请高手赐教 谁知道怎么将Win Console工程和Window工程放在一起? 如何访问远程电脑上的MS SQL数据库并操作它 如何屏蔽字符 动态生成的CListCtrl无法实现凹3D效果,奇怪! 请问怎样读取文件内容?(在线求助) 怎样在Dephi中实现Pc喇叭响?我用chr(7)不能实现!用汇编也不行,因为in 和out 语句出错,谁能教我怎么做? 如何实现多缓存绘制透明窗体? MFC通过ADO连接局域网内的SQL数据库
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,200,2);//0--255
FreeLibrary(hInst);