|
Look at message: missing xgraph10d.dll. (In debug configuration you must modify cpp file settings to "Automatic use of precompiled headers" like in Release configuration.)
|
|
|
|
|
I'm playing with demo project. Just after resizing the window to minimal possible size and restoring it original graph is NOT the same! The same is for zoom - after zooming out and going back (by Num-) the graph is NOT the same as before zooming. It it normal?
|
|
|
|
|
memory leakage found in the assignment function of CXGraphDataSerie
CXGraphDataSerie& CXGraphDataSerie::operator =(const CXGraphDataSerie& copy)
{
/// should add following statement
if (m_pData != NULL && m_bAutoDelete)
delete []m_pData;
m_bVisible = copy.m_bVisible;
m_bShowMarker = copy.m_bShowMarker;
m_bFillBeneath = copy.m_bFillBeneath;
m_pGraph = copy.m_pGraph;
m_nLineStyle = copy.m_nLineStyle;
m_nLineSize = copy.m_nLineSize;
m_gtType = copy.m_gtType;
m_nXAxis = copy.m_nXAxis;
m_nYAxis = copy.m_nYAxis;
m_crColor = copy.m_crColor;
m_nFillStyle = copy.m_nFillStyle;
m_nFirstVisible = copy.m_nFirstVisible;
m_nLastVisible = copy.m_nLastVisible;
m_bFillTransparent = copy.m_bFillTransparent;
m_CurveRegions = copy.m_CurveRegions;
m_nMarkerType = copy.m_nMarkerType;
m_nMarker = copy.m_nMarker;
m_nMarkerSize = copy.m_nMarkerSize;
m_bAutoDelete = copy.m_bAutoDelete;
m_nCount = copy.m_nCount;
m_nIndex = copy.m_nIndex;
m_cLabel = copy.m_cLabel;
m_PS = copy.m_PS;
m_nFillCurve = copy.m_nFillCurve;
m_crFillColor = copy.m_crFillColor;
if (copy.m_bAutoDelete && copy.m_pData)
{
m_pData = new TDataPoint[copy.m_nCount];
memcpy(m_pData, copy.m_pData, sizeof(TDataPoint) * copy.m_nCount);
}
else
m_pData = copy.m_pData;
return *this;
}
Limin
|
|
|
|
|
Similarly:
CXGraphDataSerie& CXGraph::SetData
.....
if (nCurve == m_Data.size ())
{
// New data serie
.....
serie.m_pData = (TDataPoint*) new TDataPoint[nCount];
.....
}
else
{
// existing data serie, just update
.....
m_Data[nCurve].m_pData = pValues;
.....
}
|
|
|
|
|
I cant seem to get this to work in a dialog box... I used the example earlier of...
CRect clRect;
pWnd = GetDlgItem(IDC_XGRAPH);
pWnd->GetClientRect(&clRect);
m_Graph.Create(_T("XGraph"),_T(""), WS_CHILD|WS_VISIBLE, clRect, pWnd, IDC_XGRAPH);
but then I get another exception and it points to something about defwndproc or something... has anyone gotten this to work in a dialog window? any help would be great...
Carlos Cook
|
|
|
|
|
I use the same Create function and then handle WM_SIZE to move it on the dialog where I want it. Did you check the value of pWnd from the GetDlgItem() call?
#ifdef USE_XGRAPH
if (!::IsWindow(m_Graph.m_hWnd))
{
m_Graph.Create(_T("XGraph"),_T(""), WS_CHILD | WS_VISIBLE, clRect, this, 1001);
m_Graph.SetData(NULL,0,0,0,false);
m_Graph.SetCursorFlags(XGC_LEGEND | XGC_VERT | XGC_ADJUSTSMOOTH);
// Force cursor to snap to the first curve
m_Graph.ForceSnap(0);
AddDataSerie(true);
}
#else
...
Then in OnSize handler
#ifdef USE_XGRAPH
...
m_Graph.MoveWindow(&rcGraph);
...
#endif
|
|
|
|
|
sweet... thanks.. I ended up writing my own in opengl... its pretty sweet.. this one just wasn't for me... thanks tho..
|
|
|
|
|
"I ended up writing my own in opengl..."
Is it an opensource project? Can you share it? ^_^
void happens
|
|
|
|
|
Use the lib and dll of debug version.
It will remove the crash of dialog based App in debug mode.
|
|
|
|
|
Hi,everyone:
Recently, I use this control to do some project. I find a problem in the function OnPaint() in XGraph.cpp. When OnPaint() do DoubleBuffer , it only draw everything in the memory, at last not draw it back to the CPaint. Sow when you put the source code into your project, you can find that drawed lines can't be shown.
The source code is in void CXGraph::OnPaint(). I do it like this:
//Added By Paul_Yang 2006-7-10
if (m_bDoubleBuffer) {
pdc->BitBlt(clRect.left, clRect.top, clRect.Width(),
clRect.Height(), pDC, clRect.left,
clRect.top, SRCCOPY);
}
//End Added
pDC->RestoreDC(nSaveDC);//Line at 1111 in original source code
pDC->Detach();
delete pDC;
if (pmdc)
delete pmdc;
delete pdc;
|
|
|
|
|
i made a some project with VC6.0. But "OnLButtonDblClk " do not work? would anyone meet the same position? My english is not very good.
I am a chinese.
|
|
|
|
|
when I fill x-y with following values and show markers,I found marker are not match with the curve, why?
1170 1.000
1105 1.700
1075 2.200
1040 3.300
1000 4.200
990 5.100
985 5.800
1000 7.000
1010 8.700
1012 10.400
1025 12.100
1040 13.900
1020 15.700
1010 17.000
1010 18.300
1000 19.500
920 23.800
830 34.200
|
|
|
|
|
by a detail description, the second point's marker is not on the curve.
|
|
|
|
|
1. if the adjacent datas has tiny differences, some same data marks will be shown on axis;
2. when there is no curve in client, double click the client to call the property dialog may cause a exception, the exception is thrown by "XGraphAxis& CXGraph::GetYAxis(int nAxis)[XGRAPH.cpp Line 298]". i add a test(&& static_cast<int>(m_YAxis.size())>0) before calling the property dialog in function CheckObjectSelection(line 1621 XGRAPH.cpp) as temporary countermeasure, does anybody have a perfecct solution?
a public member function ShowCurve(SW_SHOW/SW_HIDE) may be usefull when there are many curves shown in the same chart.
3. some windows over the chart such as SAVE AS dialog appear in the bitmap which is created by function BOOL CXGraph::SaveBitmap( const CString cFile )
-- modified at 23:16 Sunday 4th June, 2006
|
|
|
|
|
I cannot run the compiled graph projec because I'm missing
xgraph10d.dll but it doesn't come in the zip files.
Can anyone help?
Thanks very much
|
|
|
|
|
build the source project ,then you get it
|
|
|
|
|
No we don't get it with a build !
BL
|
|
|
|
|
To build XGraph10.dll XGraph10.lib XGraph10d.dll XGraph10d.lib you must download "Source code" but not "Demo Project".
In debug configuration you must modify cpp file settings to "Automatic use of precompiled headers" like in Release configuration.
And you will have you dll and lib files.
I spent a lot of time to find it...
|
|
|
|
|
Hi,
In my project, I need the time format X-lable support(HH:MM:SS.SSS format). I believe this is also demanded in your projects. Do you have any good solution to make it in this charting control?
Based-on this function I can view some data trends vs time. Also it is a good solution to make data analysis charting by time.
Thanks!
Sam
|
|
|
|
|
There appears to be a undefined resource in the DLL "IDC_CBFILLCURVE" is used in CCurveDlg, but there is no actual resource assigned to it.
To fix the I created a combo box in IDD_CURVE, this seems to allow the debug version to run fine.
I have also found a bug in the cursor code the if can move off the end of
the data causing it to lock.
By the way, great code, well worth the small effort to find this.
There is also a small problem in the build file.
I can post the fixes once I have tested them a little more.
Nick
-- modified at 21:14 Friday 14th April, 2006
|
|
|
|
|
---------------------------
XGraphTest.exe - 无法找到入口
---------------------------
无法定位程序输入点 ?
//can not locate the entry of the programme
SetColorRange@CXGraphAxis@@QAEXHNNKKVCString@@I@Z 于动态链接库 XGRAPH10.dll 上。
//dynamic libary XGRAPH10.dll
---------------------------
ok
---------------------------
when compile the src\release , there is no error,
but we use the just build XGRAPH10.dll to be used by demo\XGraphTest.exe error message displayed like above.
what wrong ?
supportyou
|
|
|
|
|
---------------------------
XGraphTest.exe - 无法找到入口
---------------------------
无法定位程序输入点 ?
//can not locate the entry of the programme
SetColorRange@CXGraphAxis@@QAEXHNNKKVCString@@I@Z 于动态链接库 XGRAPH10.dll 上。
//dynamic libary XGRAPH10.dll
---------------------------
ok
---------------------------
when compile the src\release , there is no error,
but we use the just build XGRAPH10.dll to be used by demo\XGraphTest.exe error message displayed like above.
what wrong ?
supportyou
|
|
|
|
|
Hi everyone,
I'm trying to use the autoscale feature of CXGraph Class. I don't think it's working properly so I'm posting my code. If you find an error, please tell me.
Here's my code :
<br />
m_Values[0][0].fXVal = 1;<br />
m_Values[0][0].fYVal = mVectLightData[mIndexChosenMotes].LightMax;<br />
<br />
m_Values[0][1].fXVal = 2;<br />
m_Values[0][1].fYVal = mVectLightData[mIndexChosenMotes].LightMin;<br />
<br />
m_Values[0][2].fXVal = 3;<br />
m_Values[0][2].fYVal = mVectLightData[mIndexChosenMotes].LightMean;<br />
<br />
mGraph.SetData(m_Values[0], 3, 0, 0, 0);<br />
mGraph.GetCurve(0).SetColor(RGB(0,0,0));<br />
mGraph.SetShowLegend(false);<br />
mGraph.SetInteraction(true);<br />
mGraph.GetXAxis(0).SetAutoScale(true);<br />
mGraph.GetYAxis(0).SetAutoScale(true);<br />
mGraph.SetAutoScale(0,0,0);<br />
The mIndexChosenMotes is a std vector's index.
Thanks a lot,
Rene Desgagnes
|
|
|
|
|
Has anybody tried to bring this into VS2005? If so what problems did you encounter and how did you solve them?
|
|
|
|
|
I've tried to do this, but there was many errors. Some of them I fixed... But there was also many STL related inconsistencies that I don't know how to deal with.
I would be nice if somebody helped.
|
|
|
|