盾怪网教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

完成带阴影弹出的窗口

时间:2024/12/21作者:未知来源:盾怪网教程人气:

[摘要]CS_VREDRAW); return CWnd::CreateEx(WS_EX_STATICEDGE,pClassName, "Shadow window", WS_POPUP...
CS_VREDRAW);
return CWnd::CreateEx(WS_EX_STATICEDGE,pClassName, "Shadow window", WS_POPUP,
rect.left,rect.top,rect.right,rect.bottom, pParentWnd->GetSafeHwnd(),0,NULL);
}
void CShadowWnd::OnNcPaint()
{
// TODO: Add your message handler code here
  CWindowDC dc(this);
  CRect rc;
  GetWindowRect(&rc);
  rc.right-=rc.left;//width
  rc.bottom-=rc.top;//height
  rc.top=0;
  rc.left=0;
  m_bmpBrush.UnrealizeObject();
  CBrush* OldBrush=dc.SelectObject(&m_bmpBrush);
//画底部阴影
dc.PatBlt(rc.left+SPOPUP_SHADOWWIDTH,rc.bottom-SPOPUP_SHADOWHEIGHT, rc.right-
    SPOPUP_SHADOWWIDTH,SPOPUP_SHADOWHEIGHT,PATCOPY);
//画右边阴影
dc.PatBlt(rc.right-SPOPUP_SHADOWWIDTH,rc.top+SPOPUP_SHADOWHEIGHT, SPOPUP_SHADOWWIDTH,
    rc.bottom,PATCOPY);
dc.SelectObject(OldBrush); //restore old brush
  CBrush* pBrush=CBrush::FromHandle(GetSysColorBrush(COLOR_WINDOWFRAME));
  rc.right-=SPOPUP_SHADOWWIDTH;
  rc.bottom-=SPOPUP_SHADOWHEIGHT;
  dc.FrameRect(rc,pBrush);//画边框
// Do not call CWnd::OnNcPaint() for painting messages
}
void CShadowWnd::OnPaint()
{
  CPaintDC dc(this); // device context for painting
  // TODO: Add your message handler code here
  CRect rect;
  GetClientRect(&rect);
  rect.left+=5;
  rect.top+=5;
  rect.right-=SPOPUP_SHADOWWIDTH;
  rect.bottom-=SPOPUP_SHADOWHEIGHT;
  dc.SetTextColor(RGB(0,0,255));//设置显示文本颜色
  dc.DrawText(m_sShowText,rect,DT_WORDBREAK

关键词:完成带阴影弹出的窗口




Copyright © 2012-2018 盾怪网教程(http://www.dunguai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版