Download rmchart, install DLL, and enjoy.
You can use VB6 samples as reference.
Sample test using GTWVG can be downloaded here:
http://www.jpatecnologia.com.br/arquivos/testrmchart.zip
#require
hbct.ch
#include "
hbclass.ch"
#include "
hbdyn.ch"
#include "
rmchart.ch"
CREATE CLASS RmChart
VAR nHandle
METHOD New() INLINE ::nHandle :=
hb_libLoad( "RMChart.dll" ), SELF
METHOD Destroy() INLINE hb_libFree( ::nHandle )
METHOD CreateChart( ... ) INLINE ::CallDllStd(
"RMC_CREATECHART", ... )
METHOD CreateChartOnDc( ... ) INLINE ::CallDllStd(
"RMC_CREATECHARONDC", ... )
METHOD AddBarSeries(a,b,c, ... ) INLINE ::CallDllStd(
"RMC_ADDBARSERIES", a, b, ::ToDouble(c), ... )
METHOD AddRegion( ... ) INLINE ::CallDllStd(
"RMC_ADDREGION", ... )
METHOD AddCaption( ... ) INLINE ::CallDllStd(
"RMC_ADDCAPTION", ... )
METHOD AddDataAxis(a,b,c,d,e, ... ) INLINE ::CallDllStd(
"RMC_ADDDATAAXIS", a, b, c, ::ToDecimal(d), ::ToDecimal(e), ... )
METHOD AddGrid( ... ) INLINE ::CallDllStd(
"RMC_ADDGRID", ... )
METHOD AddGridLessSeries(a,b,c,d,e,...) INLINE ::CallDllStd(
"RMC_ADDGRIDLESSSERIES", a, b, ::ToDouble(c), d, ::ToDouble(e), ... )
METHOD AddLabelAxis( ... ) INLINE ::CallDllStd(
"RMC_ADDLABELAXIS", ... )
METHOD AddLegend( ... ) INLINE ::CallDllStd(
"RMC_ADDLEGEND", ... )
METHOD AddLineSeries( a,b,c, ... ) INLINE ::CallDllStd(
"RMC_ADDLINESERIES", a, b, ::ToDouble(c), ... )
METHOD DeleteChart( ... ) INLINE ::CallDllStd(
"RMC_DELETECHART", ... )
METHOD Draw( ... ) INLINE ::CallDllStd(
"RMC_DRAW", ... )
METHOD Draw2Clipboard( ... ) INLINE ::CallDllStd(
"RMC_DRAW2CLIPBOARD", ... )
METHOD Draw2Printer( ... ) INLINE ::CallDllStd(
"RMC_DRAW2PRINTER", ... )
METHOD Draw2File( ... ) INLINE ::CallDllStd(
"RMC_DRAW2FILE", ... )
METHOD Reset( ... ) INLINE ::CallDllStd(
"RMC_RESET", ... )
METHOD SetWaterMark( ... ) INLINE ::CallDllStd(
"RMC_SETWATERMARK", ... )
METHOD WriteRMCFile( ... ) INLINE ::CallDllStd(
"RMC_WRITERMCFILE", ... )
METHOD CallDllStd( cName, ... ) INLINE hb_DynCall( { cName,
::nHandle, HB_DYN_CALLCONV_STDCALL }, ... )
METHOD ToDecimal( xValue ) INLINE xValue + 1.01 - 1.01
METHOD ToDouble( xValue )
ENDCLASS
METHOD RMChart:ToDouble( xValue )
LOCAL cDouble := "", oElement
IF ValType( xValue ) == "N"
RETURN xValue
ENDIF
FOR EACH oElement IN xValue
cDouble += FToC( oElement )
NEXT
RETURN cDouble
José M. C. Quintas