问题已经解决了,不需要重绘滚动条。
我的程序是客户区有特别光标,要求指到滚动条要变为普通的。问的时候没说清楚。
因为滚动条属于客户区,而又不包含在GetClientRect()里所以我在OnSetCursor()里把滚动条给排除掉了。
代码如下:
BOOL CSingleWBView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
CRect rectClient;
GetClientRect(&rectClient);
CPoint point;
GetCursorPos(&point);
ScreenToClient(&point);
CRgn rgn;
rgn.CreateRectRgn(rectClient.left, rectClient.top, rectClient.right, rectClient.bottom);
if (!rgn.PtInRegion(point))
{
rgn.DeleteObject();
return CScrollView::OnSetCursor(pWnd, nHitTest, message);
}
}
结贴。