MFC中如何给CLientDC添加滚条

小弟在MFC中的View类中用clientDC进行绘图,但是加了滚条之后拖动滚条,原来绘制的图形都会消失,点击最小化或者改变Client区的大小也会侍原来的图形消失,请问有没有什么办法可以实现滚条的功能?

在OnDraw中绘图。

其实加滚动条很简单,View类继承CScrollView,然后就可以有滚动条了。
然后设置滚动视图的大小和单页大小以及单步滚动的大小。如下:
CRect rcClient;
GetClientRect(&rcClient);
CRect rcImage;
GetImageRect(rcImage);
CSize szTotal = rcImage.Size();
CSize szPage = rcClient.Size();
CSize szLine = szPage;
szLine.cx /= 10;
szLine.cy /= 10;
CScrollView::SetScrollSizes(MM_TEXT, szTotal, szPage, szLine);

Invalidate();

绘图的尺寸就是szTotal。
最后需要重载CScrollView的OnSize。
其他的就是一些函数的重载处理了。

望采纳。希望能够帮到你。