手机layeredwindow,手机腾讯网
怎么在layeredwindow上半透明显示WebBrowser控件
据我目前所知道的,flash是支持 Windowless 的,而 WebBrowser 还没见有人用Windowless实现了,都是将WebBrowser放在另一个Popup Window中,然后与主窗口一起移动。
你可以将这个Popup Window设置为WS_EX_LAYERED,然后调用SetLayeredWindowAttributes设置一下透明度,应该也能达到你的目的。
Release下UpdateLayeredWindow错误,为ERROR_NOT_ENOUGH_MEMORY,哪位大虾知道怎么解决?
bRet= ::UpdateLayeredWindow(m_hWnd,//主窗口的HWND
hdcScreen,//主窗口的HDC
ptWinPos,//主窗口的左上角的POINT
sizeWindow,//主窗口的SIZE
m_hdcMemory,//含背景图的HDC
ptSrc,//图片从主窗口开始贴的POINT
0,//要透明的COLOR(这里不是COLOR透明,当然不管)
m_Blend,//主窗口透明度
2//标记位,2为允许半透明的窗体,1为COLOR透明,3为不透明
);
if(bRet == false)
{
//取得GetLastError()函数返回的错误代码的解释信息
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
0x485, //错误代码
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) lpMsgBuf,
0,
NULL
);
AfxMessageBox((LPCTSTR)lpMsgBuf);
// Free the buffer.
LocalFree( lpMsgBuf );
AfxMessageBox( "UpdateLayeredWindow Error ");
}
如上.程序在有些机器上运行函数返回失败.GetLastError提示是“找不到函数相关的库文件”,大概10台机器里有2台是这个错误.而且都是XP的操作系统.使用VC8编译的程序,请问为什么这个函数会有这样的问题?看MSDN上说2000以上的系统就支持的.
如何避免LayeredWindow在某些窗体上的闪烁
需要在某容器控件中动态装载多个子控件,而且该容器控件可能需要改变WindowFormState,即从Normal转变为Maxmized,或者是其他状态转换啦, 无论如何,如果没有应用任何特殊处理,你就会发现,当容器控件状态转换时,其上的子控件在经过一阵狂闪之后
layered windows是什么意思
layered windows
分层窗口
You?can?use?layered?windows?to?do?animations?and?other?transition?effects; foradditional details,?see?the?section?entitled "Layered?Windows"?in thedocumentation.?
你可以用分层窗口来进行动画和其它转换效果的处理;详细细节请参考文档中的“分层窗口”部分。
很高兴第一时间为您解答,祝学习进步
如有问题请及时追问,谢谢~~O(∩_∩)O
如何在layeredwindow下半透明显示WebBrowser控件
创建了一个layered window然后调用UpdateLayeredWindow函数可以进行alpha混合半透明显示图片、flash等元素,但是不知道怎么半透明显示WebBrowser控件;试过用显示flash的方式,行不通。分析了一下原因:
flash显示方式:网上抄了一个OleContainer模板,
template class TObject
class COleContainer :
public IOleClientSite,
public IOleInPlaceSiteWindowless,
public IOleInPlaceFrame,
public IStorage,
public IDispatch
调用IOleObject::DoVerb(OLEIVERB_SHOW...)函数,会触发调用IOleInPlaceSiteWindowless::InvalidateRect,该函数实现如下:
template class TObject
HRESULT STDMETHODCALLTYPE COleContainerTObject::InvalidateRect(
/* [in] */ LPCRECT pRect,
/* [in] */ BOOL fErase)