fillsolidrect_onerasebkgnd 重影_bitblt函数(20)

电脑杂谈  发布时间:2017-03-10 14:21:13  来源:网络整理

{

CRect rc(pRc);

rc.DeflateRect(3, 5, 3, 3);

if (nDockBarID != AFX_IDW_DOCKBAR_FLOAT)

rc.DeflateRect(2, 0, 2, 2);

switch(nDockBarID)

{

case AFX_IDW_DOCKBAR_TOP:

m_dwSCBStyle |= SCBS_EDGEBOTTOM;

break;

case AFX_IDW_DOCKBAR_BOTTOM:

m_dwSCBStyle |= SCBS_EDGETOP;

break;

case AFX_IDW_DOCKBAR_LEFT:

m_dwSCBStyle |= SCBS_EDGERIGHT;

break;

case AFX_IDW_DOCKBAR_RIGHT:

m_dwSCBStyle |= SCBS_EDGELEFT;

break;

}

// make room for edges only if they will be painted

if (m_dwSCBStyle & SCBS_SHOWEDGES)

rc.DeflateRect(

(m_dwSCBStyle & SCBS_EDGELEFT) ? m_cxEdge : 0,

(m_dwSCBStyle & SCBS_EDGETOP) ? m_cxEdge : 0,

(m_dwSCBStyle & SCBS_EDGERIGHT) ? m_cxEdge : 0,

(m_dwSCBStyle & SCBS_EDGEBOTTOM) ? m_cxEdge : 0);

*pRc = rc;

}

void CSizingControlBar::OnNcPaint()

{

// get window DC that is clipped to the non-client area

CWindowDC dc(this);

CRect rcClient, rcBar;

GetClientRect(rcClient);

ClientToScreen(rcClient);

GetWindowRect(rcBar);

rcClient.OffsetRect(-rcBar.TopLeft());

rcBar.OffsetRect(-rcBar.TopLeft());

CDC mdc;

mdc.CreateCompatibleDC(&dc);

CBitmap bm;

bm.CreateCompatibleBitmap(&dc, rcBar.Width(), rcBar.Height());

CBitmap* pOldBm = mdc.SelectObject(&bm);

// draw borders in non-client area

CRect rcDraw = rcBar;

DrawBorders(&mdc, rcDraw);

// erase the NC background

mdc.FillRect(rcDraw, CBrush::FromHandle(

(HBRUSH) GetClassLong(m_hWnd, GCL_HBRBACKGROUND)));

if (m_dwSCBStyle & SCBS_SHOWEDGES)

{

CRect rcEdge; // paint the sizing edges

for (int i = 0; i < 4; i++)


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-36846-20.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 石良瑞
      石良瑞

      千总

    • 谭振伟
      谭振伟

      规模不定

      • 邱淑贞
        邱淑贞

        利用中国随处可见的无人居住的鬼城来安置叙利亚难民

    • 刘明成
      刘明成

      北洋水师已经不先进了

    热点图片
    拼命载入中...