-
UID:141710
-
- 注册时间2013-03-15
- 最后登录2017-02-27
- 在线时间57小时
-
- 发帖29
- 搜Ta的帖子
- 精华0
- 金钱290
- 威望39
- 贡献值0
- 好评度29
-
访问TA的空间加好友用道具
|
通过IE显示flash 是通常做法. QAxWidget提供很方便的嵌入, 只是IE对页面的支持可能不是很好 但是QAxWidget有个最大的 问题, 不支持透明的flash 解决方法如下 - HWND hWnd = (HWND)flash->winId();
- LONG lStyle = ::GetWindowLong(hWnd, GWL_STYLE);
- lStyle &= ~(WS_CAPTION | WS_THICKFRAME | WS_MINIMIZE | WS_MAXIMIZE | WS_SYSMENU);
- ::SetWindowLong(hWnd, GWL_STYLE, lStyle);
- LONG lExStyle = ::GetWindowLong(hWnd, GWL_EXSTYLE);
- ::SetWindowLong(hWnd, GWL_EXSTYLE, lExStyle|WS_EX_LAYERED|WS_EX_TOPMOST|WS_EX_TRANSPARENT);
- typedef int (WINAPI* LPFUNC)(HWND, COLORREF , BYTE, DWORD);
- HINSTANCE hins = ::LoadLibraryW(L"User32.DLL");
- if(!hins)
- return ;
- LPFUNC func2 = (LPFUNC)GetProcAddress(hins,"SetLayeredWindowAttributes");
- if(!func2)
- return ;
- COLORREF clrMask = RGB(255,255,255);
- func2(hWnd, clrMask, 0, LWA_COLORKEY);
- FreeLibrary(hins);
-
- flash->setControl(QString::fromUtf8("{d27cdb6e-ae6d-11cf-96b8-444553540000}"));
- //connect(flash,SIGNAL(FSCommand(QString,QString)),this,SLOT(flashAction(QString,QString))); //用于处理FLASH传来的字符串
- flash->dynamicCall("LoadMovie(long,string)", 0, "d:/9023.swf"); //调用方法
- flash->dynamicCall("WMode", "transparent");
更多写在博客里 http://www.cnblogs.com/lingdhox/p/3666072.html
|