是否有任何控件可用于在winapi32控制中绘制这样的图表?
你不知道我怎么画一个?
(类似这样!)
答案 0 :(得分:6)
您将找到Windows API的第三方图表控件 -
http://www.gigasoft.com/graphinglibrary.html
http://www.codeproject.com/Articles/14330/Custom-Control-Graph-and-Process-Bar
或者您可以使用GDI函数 LineTo 和 MoveTo 自行绘制折线图。
答案 1 :(得分:6)
你绝对应该在CodeProject部分的Desktop Development -> Miscellaneous"搜索任何类型的此类库。但就我而言,我会使用“A 2D data visualisation class”这提供了一个非常好的一组特征(来自文章):
- 普通和散点图模式
- 自动
- 缩放
- 适合宽度,高度和页面
- 鼠标坐标跟踪
- 能够以每秒15,000点的速度交互式添加和显示(取决于计算机的速度)
- 平移支持 - 只需按住Shift键,同时按住左键移动鼠标 图表可以在任何设备上下文中绘制,包括打印机的
另一种选择是使用准备就绪 MFC 或 ActiveX 组件。第一个的非常好的例子是“Plot Graphic Library”,第二个的例子是“GDI+ Plot ActiveX Control”。正如您已经提到的,所有这些库都基于GDI Windows工具。顺便说一句,你可以自己绘制这个简单的图形,因为Windows中的GDI(和GDI +)工具非常强大。
另请参阅“SoftIntegration Graphical Library (SIGL)”。该库包含许多不同的图和表面。
但是,再一次,它只是关于GDI。 另一种变体是使用DirectX或OpenGL。对于后者,你一定要尝试 SDL (Simple DirectMedia Layer):
是一个跨平台的多媒体库,旨在通过OpenGL和2D视频帧缓冲提供对音频,键盘,鼠标,操纵杆,3D硬件的低级访问。 正如您所看到的那样,它是一个跨平台库。
熟悉的好问题是:
<强>更新强>
我忘了提及“ROOT” - 它是我见过的最强大的图库。实际上,它不是一个图书馆,它是“数据分析框架”。图书馆的创作者是来自欧洲核子研究中心的人。使用这个库,您可以构建几乎所有类型的绘图,曲面和图形。它是跨平台的,用C ++编写。 ROOT具有:控制台版本(您可以在C ++中编写命令, - ROOT具有自己的C ++编译器)以及一组与您的项目链接的大量库。您可以在MSVS 2008和MSVS 2010中帮助构建MFC应用程序。