完成一个图表模块,包括点图,饼图,线图,柱状图
1。以DLL的形式提交完成
2。可以实现缩放和映射模式切换
3。用属性页进行参数设置
4。可以通过鼠标对数据进行编辑
5。各种图元的切换显示希望能给出示例或思路!!!谢谢!!

解决方案 »

  1.   

    做个mfc扩展Dll^_^,简单易行,不过只能在mfc里面调用~。~
      

  2.   

    建议用GDI+,
    对图像支持方便得多
      

  3.   

    #include <iostream.h>
     
    class image
    {
       public:
     virtual void Show() = 0;
    };
    void image::Show(){}class pix : public image//点图
    {
    public:
     void Show()
     {
      cout<<"显示点图"<<endl;
     }
    };
    class line : public image//线状图
    {
    public:
     void Show()
     {
      cout<<"显示线状图"<<endl;
     }
    };其他图形class Bridge
    {
    public:
     virtual void Show() = 0;
    private:
     image *_im;
    };
    void Bridge::Show(){}class ChildBridge : public Bridge
    {
    public:
     ChildBridge(image *im)
     {
      _im = im;
     }
     void Show()
     {
      _im->Show();
     }
    private:
     image *_im;
    };int main()
    {
     image *t = new pix;//创建点状图
     Bridge *b = new ChildBridge(t);//匹配到其他类(可以匹配到显示框中)
     b->Show();
     return 1;
    }
    ---
    以上应用桥接模式来实现
    用命令行方式来解释实现方案
    希望楼主能够看明白其他,请参考,也请批评指正
    blog.sina.com.cn/lidongri
      

  4.   

    class Bridge
    {
    public:
    Bridge(image *im)
    {
    this->_im = im;
    } virtual void Show() 
     {
     _im->Show();
     }
    private:
     image *_im;
    };class ChildBridge : public Bridge
    {
    public:
    ChildBridge(image *im):Bridge(im){}
    };
      

  5.   

    大哥,你说的东西,微软有现成的,你可以看一下MSChart Control
      

  6.   


     tinyfog(青蛙大侠)  
     看了一下,功能上还不能都满足
      

  7.   

    这种控件在CODEPROJECT上很多的
      

  8.   

    利用COM技术,自己写个ocx控件实现吧。这样的需求不难
      

  9.   

    给个相关例子
    http://www.codeguru.com/cpp/
    搜索pie_chart_ctrl_demo
      

  10.   

    弄个dll,将创建主窗口的函数导出!将主窗口句柄返回!
    其他绘图的东西一两句也说不清楚!
    顶下!
      

  11.   

    现决定使用MVC架构进行实现,M实现数据管理,V实现图表显示,C进行控制管理,管理数据,控制显示,并作为接口提供给外部调用,希望能提供相关思路或资料!!!!!
      

  12.   

    To 凡鱼:
    要处理的数据是可以表示成二维数组,现用Module类进行管理。
    View方面,Base是基类,派生Scatter,Bar,和Pie.
    Control实现用户命令响应,如鼠标右键单击,鼠标拖动等
      

  13.   

    To 凡鱼:
    谢谢先!你说的数据逻辑结构问题当然是要考虑的,只是暂时还没有详细的需求,数据只是用产生随机数的方法临时产生的,但目前棘手问题是如何组织MVC之间的关系??
      

  14.   

    对于MVC结构我个人是这样理解的。就对于你所说的三个图的实现来说吧。我先提一个需求。就是用你的三个图来表示一个学校2001~2005五年的招生情况。要动态显示招生的变化。每年的招生都分析它们的籍贯,用三个图来表示。假设我当前显示的是2002年的柱图。现在要显示2003年的饼图。首先,从界面选则年份和图象形式。并输入。
    C控制管理,收到指令后,向M申请数据(在这里只有C知道申请什么样的数据来完成操作,M可以提供所有的数据)。C收到数据后,把数据整理成一维数组(该数组只支持饼图的绘制),和一些辅助的显示信息(该显示信息由来自于M的数据组织而成,该信息用于图像的一些说明文字)。然后,把这些信息组织好,并把指针传给V。最后,由C向V发出显示指令。