class CLockSplitterWnd : public CSplitterWnd;
//. . .
BEGIN_MESSAGE_MAP(CLockSplitterWnd, CSplitterWnd)
ON_WM_LBUTTONDOWN()
ON_WM_SETCURSOR()
ON_WM_MOUSEMOVE()
END_MESSAGE_MAP()
//. . .
void CLockSplitterWnd::OnLButtonDown(UINT nFlags, CPoint point)
{
if(m_bLocked)
CWnd::OnLButtonDown(nFlags, point);
else
CSplitterWnd::OnLButtonDown(nFlags, point);
}
BOOL CLockSplitterWnd::OnSetCursor(CWnd* pWnd,
UINT nHitTest, UINT message)
{
if(m_bLocked)
return CWnd::OnSetCursor(pWnd, nHitTest, message);
else
return CSplitterWnd::OnSetCursor(pWnd, nHitTest, message);
}
void CLockSplitterWnd::OnMouseMove(UINT nFlags, CPoint point)
{
if(m_bLocked)
CWnd::OnMouseMove(nFlags, point);
else
CSplitterWnd::OnMouseMove(nFlags, point);
}
//. . .
BEGIN_MESSAGE_MAP(CLockSplitterWnd, CSplitterWnd)
ON_WM_LBUTTONDOWN()
ON_WM_SETCURSOR()
ON_WM_MOUSEMOVE()
END_MESSAGE_MAP()
//. . .
void CLockSplitterWnd::OnLButtonDown(UINT nFlags, CPoint point)
{
if(m_bLocked)
CWnd::OnLButtonDown(nFlags, point);
else
CSplitterWnd::OnLButtonDown(nFlags, point);
}
BOOL CLockSplitterWnd::OnSetCursor(CWnd* pWnd,
UINT nHitTest, UINT message)
{
if(m_bLocked)
return CWnd::OnSetCursor(pWnd, nHitTest, message);
else
return CSplitterWnd::OnSetCursor(pWnd, nHitTest, message);
}
void CLockSplitterWnd::OnMouseMove(UINT nFlags, CPoint point)
{
if(m_bLocked)
CWnd::OnMouseMove(nFlags, point);
else
CSplitterWnd::OnMouseMove(nFlags, point);
}
本文介绍了一个名为CLockSplitterWnd的类,该类继承自CSplitterWnd,并重写了左键单击、设置光标及鼠标移动的方法。通过成员变量m_bLocked来控制这些行为是否使用基类的行为。
870

被折叠的 条评论
为什么被折叠?



