Graphics In Form

Add a method in Graphics(Class)

 

void parmStacked(int _stacked = 0)
{
    ;
    chartFXCtrl.stacked(_stacked);

}

Add a ActiveX(Chart Object) in a Form and set name="MyGraphics" and Add a method in Form

and override TablePage method : pageActivated(element.showGraphics())

void showGraphics()
{
    AAATestGraphics       TestGraphics;
    Integer     mark;
    Integer     x;

    str         s;
    str         strPeriod;
    str         strKey;
    str         strBase;

    Map         mapPeriod   = new Map(Types::String,Types::String);
    Map         mapKey      = new Map(Types::String,Types::String);
    Map         mapBase     = new Map(Types::String,Types::Real);

    MapIterator mi;
    ;

    if (graphics)
        graphics.closeGraph();

    graphics = Graphics::newGraphicsNoTitles(Mygraphics,Mygraphics.widthValue() ? Mygraphics.widthValue() : 700,Mygraphics.heightValue() ? Mygraphics.heightValue() : 400);

    TestGraphics = AAATestGraphics_ds.getFirst(1,false);
    mark = 0;
//    mark = 1;

    graphics.resetGraph();
    graphics.parmStacked(1);
    TestGraphics = AAATestGraphics_ds.getFirst(mark,true);
    while (TestGraphics)
    {
        x++;

        strPeriod   = TestGraphics.Month;
        strKey      = TestGraphics.Type;
        strBase     = num2str(TestGraphics.Value,1,2,1,0);

        if ( ! strPeriod && ! strKey && ! strBase)
            break;

        s =strPeriod+'#'+strKey+'#'+strBase+'#'+int2str(x);

        mapPeriod.insert(s,strPeriod);
        mapKey.insert(s,strKey);
        mapBase.insert(s,TestGraphics.Value);

        TestGraphics = AAATestGraphics_ds.getNext();
    }

    mi = new MapIterator(mapPeriod);
    mi.begin();
    while (mi.more())
    {
        strPeriod   = mapPeriod.lookup(mi.key()) ? mapPeriod.lookup(mi.key())   : '\'\'';
        strKey      = mapKey.lookup(mi.key())    ? mapKey.lookup(mi.key())      : '\'\'';

        graphics.loadData(strPeriod,strKey,mapBase.lookup(mi.key()));

        mi.next();
    }

    graphics.showGraph();
}

 

原文地址:https://www.cnblogs.com/lingdanglfw/p/1282136.html