绘图-MFC中如何给CLientDC添加滚条

问题描述

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

解决方案

其实加滚动条很简单,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。
其他的就是一些函数的重载处理了。

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

解决方案二:
在OnDraw中绘图。

时间: 2025-01-19 15:25:26

绘图-MFC中如何给CLientDC添加滚条的相关文章

mfc绘图-MFC中怎么才能画固定长度的直线?

问题描述 MFC中怎么才能画固定长度的直线? 只知道起点,不知道终点...而且不能重叠,所以我想用正多边形,正多边形中心点到各点距离相等,且不重叠,,但是正多边形又不能得到中心点.....怎样才能得到中心点??或者有更好的办法可以画,而且可以得到直线的终点? 解决方案 正多边形求中心点这是数学问题吧 解决方案二: 你只说画固定长度的直线,但还是没把意思说清楚. 你一这个点为圆心,用Ellipse()方法绘制一个圆,外部图形和这个圆的交点就是你要的点,不过交点左边不好求. 再就是风雨你要画直线的长

C#中如何为chart添加两条垂直游标

问题描述 chart控件本身可以添加一条垂直游标和一条平行游标,现在我想添加两条垂直游标,不知道怎么弄啊,希望大家指教 解决方案 解决方案二:自己解决了,看来我发的帖子没人关注

三维-怎么把opengl的显示功能添加到MFC中的某一个模块。

问题描述 怎么把opengl的显示功能添加到MFC中的某一个模块. 做了一个MFC的界面,然后想在界面中的右下角显示一个三维点云,这个三维点云目前 能用opengl编的程序单独显示出来,但是现在希望把它放到MFC中,求问需要看什么资料或者有什么思路.谢谢!! 解决方案 http://blog.sina.com.cn/s/blog_6ccd0a1101012dy4.html

请问mfc中如何实现工具栏按钮的自定义添加与删除

问题描述 请问mfc中如何实现工具栏按钮的自定义添加与删除 mfc单文档程序运行后,左上角有一个系统自动生成的工具栏,点击该工具栏右边的小倒三角形,会出现如下图所示的自定义添加或删除按钮的选项 现在我自己创建了一个工具栏,想实现上述功能,请问该怎么做?谢谢~~~ 解决方案 难道你的没有么?你可以试试BCGControlBar,它是CMFCxxx控件的商业完整版本.包含了和Office一样的自定义对话框,不需要写任何代码. 解决方案二: 需要用MFC等提供的框架,才会有,它帮你实现了.你自己创建的

vs2015 MFC中teechart绘图问题

问题描述 vs2015 MFC中teechart绘图问题 void CDemo4055Dlg::Draw() { const UINT nDATALENGTH = 100; double dData[nDATALENGTH]; for (int i = 0; i < nDATALENGTH; i++) { dData[i] = 100 * sin((float)i); } for (int i = 0; i < nDATALENGTH; i++) { lineSeries.AddXY((dou

mfc中的问题-MFC中添加算法的相关内容

问题描述 MFC中添加算法的相关内容 怎样在MFC的程序里面添加一种新的算法?算法写在哪个文件里面? 解决方案 建立一个新的类.h文件 在里面申请算法,在类.app文件中写入具体算法!调用时用类::算法就好了

mfc入门-为什么mfc中我在右击编辑框点添加变量没有反应?

问题描述 为什么mfc中我在右击编辑框点添加变量没有反应? 用vs2010的时候为什么mfc中我在右击编辑框点添加变量没有反应? 解决方案 一定要添加类 后才能添加变量 没有类,哪来的成员变量 也可参考以下链接 VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)http://www.jizhuomi.com/software/153.html 解决方案二: ???看不懂什么东东 解决方案三: ???看不懂什么东东 解决方案四: ???看不懂什么东东 解决方案五: ???看不懂

vc6中MFC基本对话框形式 怎么添加png图片?

问题描述 vc6中MFC基本对话框形式 怎么添加png图片? vc6中MFC基本对话框形式 怎么添加png图片? 发个源码过来就行了 谢谢 解决方案 源码没有,可以用GDI+库来帮助你添加png图片,搜索下有很多使用GDI+为MFC添加png图片例子的博文. 解决方案二: CXImage第三方库支持PNG 解决方案三: 用CImage类加载,调用他的Darw方法来贴图

vc++-在mfc中添加按钮,怎么可以实现按钮按下和弹起两个功能

问题描述 在mfc中添加按钮,怎么可以实现按钮按下和弹起两个功能 也就是按钮按下为启动,但不会自己弹起,再按一遍按钮弹起,停止.大神求详细点,接触VC++时间不长 解决方案 标准MFC 按钮控件不支持这个 不过你不一定要按钮不可弹起,可以修改按钮上面的文字,比如开始显示"启动",按下以后变成"结束" 解决方案二: 你用Button的BS_CHECKBOX来模拟即可.自绘CButton 解决方案三: [MFC]按钮提示功能的实现MFC添加一个按钮,实现浏览功能 解决方