永发信息网

怎么在mfc中画曲线

答案:3  悬赏:0  手机版
解决时间 2021-03-17 17:46
  • 提问者网友:雨不眠的下
  • 2021-03-17 11:23
怎么在mfc中画曲线
最佳答案
  • 五星知识达人网友:三千妖杀
  • 2021-03-17 12:29
具体如下:
1)从CStatic派生,容易在对话框中使用。
2)能够随对话框的缩放自动改变大小,这里假设对话框中其它元素的位置基本不变。
3)曲线的粗细,颜色,线型(实,虚线)可以自由设置。
4)可以控制曲线的隐藏/显示。
5)两个坐标轴,Y轴根据数据自适应,实际数据最大最小值各偏离5%是坐标轴的最大最小值(简化起见,坐标轴采用五等分)。X轴是时间轴,一个像素点代表一个数据点,假设采样按一定的频率。
6)可以添加多条曲线。
7) 使用双缓冲,避免图形闪烁。
做一个CStatic派生控件的基本步骤:
1)定义一个从CStatic派生的类。
2)重载有关消息映射,WM_PAINT,WM_ERASEBKGND
3) 在OnPaint中绘图,在这里根据实际的需要做不同的计算,绘制。
  大致可分为以下几步,I布局计算,CStatic是整个绘图区,将这个区域划分为边缘空白,坐标轴区,曲线区等几个部分,需要算出各个部分的矩形顶点,以便控制曲线的绘制。
全部回答
  • 1楼网友:撞了怀
  • 2021-03-17 14:31
1、CPen(int nPenStyle, int nWidth, COLORREF crColor);第一句就是一个cpen的构造函数,包括线型,粗细和颜色;
2、然后创建一个指向客户区的设备,并将该画笔选入设备(也就是你要划线的区域);
3、如果用断线形成曲线的话,你这个程序的思路好像不大对吧,应该是一个MoveTo对应一个LineTo吧。。。。
  • 2楼网友:像个废品
  • 2021-03-17 13:28
上面这段代码,就是用小段的直线,显示出曲线的效果
1. 先移动到第一个点
2. 然后向第二个点画直线
3. 向第三个点画直线
...
向第7999个点画直线
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯