应用背景用于在Duilib界面库产生的窗体周围添加阴影效果关键技术1.在要添加阴影效果的窗体类中包含WndShadow的头文件,并创建对应类型的成员变量m_WndShadow。
2.在WinMain处添加初始化
//Initiationoftheshadow
CWndShadow::Initialize(hInstance);
3.窗体OnCreate中设置
LRESULTOnCreate(UINTuMsg,WPARAMwParam,LPARAMlParam,BOOL&bHandled)
{
LONGstyleValue=::GetWindowLong(*this,GWL_STYLE);
styleValue&=~WS_CAPTION;
::SetWindowLong(*this,GWL_STYLE,styleValue|WS_CLIPSIBLINGS|WS_CLIPCHILDREN);
m_WndShadow.Create(m_hWnd);
m_WndShadow.SetSize(4);
m_WndShadow.SetPosition(0,0);
//blablabla....
return0;
}
说明:此处为了更清除的看到窗体边框阴影效果,我将调用的地方原来的m_WndShadow.SetSize(4);改为
了m_WndShadow.SetSize(15);正常情况下,Size设置为4的效果即可。