fillsolidrect_onerasebkgnd 重影_bitblt函数(23)

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

reposQuery, &rcT, NULL, TRUE);

int nMaxWidth = bHorz ? rcT.Height() - 2 : rcT.Width() - 2;

BOOL bTopOrLeft = m_htEdge == HTTOP || m_htEdge == HTLEFT;

m_nTrackPosMin -= bTopOrLeft ? nMaxWidth : nExcessWidth;

m_nTrackPosMax += bTopOrLeft ? nExcessWidth : nMaxWidth;

}

else

{

// side tracking:

// max size is the actual size plus the amount the other

// sizing bars can be decreased until they reach their minsize

if (m_htEdge == HTBOTTOM || m_htEdge == HTRIGHT)

nThis++;

for (int i = 0; i < arrSCBars.GetSize(); i++)

{

CSizingControlBar* pBar = arrSCBars[i];

int nExcessWidth = bHorz ?

pBar->m_szHorz.cx - pBar->m_szMinHorz.cx :

pBar->m_szVert.cy - pBar->m_szMinVert.cy;

if (i < nThis)

m_nTrackPosMin -= nExcessWidth;

else

m_nTrackPosMax += nExcessWidth;

}

}

OnTrackInvertTracker(); // draw tracker

}

void CSizingControlBar::StopTracking()

{

OnTrackInvertTracker(); // erase tracker

m_bTracking = FALSE;

ReleaseCapture();

m_pDockSite->DelayRecalcLayout();

}

void CSizingControlBar::OnTrackUpdateSize(CPoint& point)

{

ASSERT(!IsFloating());

BOOL bHorzTrack = m_htEdge == HTLEFT || m_htEdge == HTRIGHT;

int nTrackPos = bHorzTrack ? point.x : point.y;

nTrackPos = max(m_nTrackPosMin, min(m_nTrackPosMax, nTrackPos));

int nDelta = nTrackPos - m_nTrackPosOld;

if (nDelta == 0)

return; // no pos change

OnTrackInvertTracker(); // erase tracker

m_nTrackPosOld = nTrackPos;

BOOL bHorz = IsHorzDocked();

CSize sizeNew = bHorz ? m_szHorz : m_szVert;

switch (m_htEdge)

{

case HTLEFT: sizeNew -= CSize(nDelta, 0); break;


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

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

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