some requirement for a nice feature that could be useful for others, please let me know and I’ll add it to my wishlist. However, as I’m working on this control in my spare time, my time is rather limited.
Finally, if you liked this control, do not hesitate to drop me a word in the discussion forum or to rate the article, this is much appreciated. Thank you.
History
08/05/2006: Release of version 1.0 19/08/2006: Release of version 1.1
Bug fix in ScreenToValue function (CChartAxis) Bug fix in RemoveAllSeries function (CChartCtrl) Added support for manual zoom Added support for mouse panning
Ability to specify a tick increment on the axis Added support for resizing the control 09/04/2007: Release of version 1.2 GDI leak corrected
Invisible series are not taken in account for auto axis and legend (thanks to jerminator-jp) Ability to change the text color of the axis
Ability to change the color of the border of the drawing area Surface series added
16/02/2008: Release of version 1.3 Added date/time axis
Bug fix in how the logarithmic labels are displayed (trailing 0) Ability to change the color of the zoom rectangle Removed compiler warnings for VC2005 Bug fix in the zoom
14/04/2008: Release of version 1.4 Added support for scrollbars Bar series added
Legend can be docked on any side or floating Support for legend in horizontal mode
Support for transparent background on the legend Support for shadow for several objects
RemovePointsFromBegin, RemovePointsFromEnd and AddPoints in the CChartSeries class Support for gradient background
EnableRefresh and UndoPanZoom functions added in CChartCtrl
Possibility to enable/disable the zoom for a specific axis and to set its limit Speed improvement on the series (min and max cached, ordering of the series) Series can be removed using their pointers Bug fix for invisible series in the legend
Bug fix for logarithmic axis (1 digit was not displayed)
Bug fix when removing series from the control
Bug fix if the pen width is bigger than 1 for line series Bug fix for automatic axis
20/08/2008: Release of version 1.5 Added support for UNICODE Added support for printing Auto-hide scrollbars
Baseline selection for bar series Performance patch
Scrollbar flickering removed (see here)
Bug fix: scrollbar is now updated when axis is panned Bug fix: calling AddPoint was not drawing the new point
Bug fix: tick labels for log axis were not always correct (rounding error) Bug fix: last point of ChartPointSerie was not displayed
Bug fix: moving the mouse outside the control doesn’t stop the zoom or pan operation (the button can be released outwww.hunanwang.netside the control)
13/04/2009: Release of version 2.0
The different axis types are now separated into different classes
Modified the way to add series to the control for improved flexibility Added cursors
Ability to display discrete axes
Ability to be notified about mouse events occurring on the control Added labels on points
Ability to display a smooth curve
Added ChartFont: allows for italic, bold or underlined fonts Added the SetReferenceTick function for date/time axis Ability to store user data for each point Series now have an Id
Removed the CChartObject class
Points are now stored in a standard array instead of a std::vector for efficiency
Binary search implemented for finding the first and last visible points (for efficiency) The line series now uses PolyLine instead of MoveTo/LineTo (efficiency) Bug fix when using date/time axis with a tick interval in years Bug fix: bar series were drawn from the wrong axis 11/06/2009: Release of version 2.0.1
Optimization: the pan feature has been smoothed
Optimization: points with the same X and Y values are not plotted anymore for the line series.
Bug fix: in some situations, the code was crashing when accessing points outside the valid range
Bug fix: when series were removed, the legend was accessing removed series (which crashed)
Bug fix: when a series was cleared, new points were not drawn properly
Bug fix: inserting a point for which the X value already existed in the series did not add the
point properly
Bug fix with the CChartFont class 07/08/2009: Release of version 2.0.2
Bug fix: the control was crashing when a series with no points and no ordering was added Bug fix: the shadow of the line was not drawn correctly
Bug fix: when an automatic date/time axis was used without any data, the code crashed 28/12/2009: Release of version 3.0.0
Series are now template classes with the template parameter being the point type. This allows the control to manipulate any type of points
Added candlestick and Gantt series
Added support to save the chart to an image file Bar series can be stacked
Added a new automatic mode for axes: the screen automatic mode
Listening for mouse events on a series has been moved to a CChartSeriesMouseListener class
Bug fix: when a point X or Y value is modified, the series is reordered
Bug fix: setting a tick increment on a standard axis did not show the digits properly 17/01/2010: Release of vewww.sm136.comrsion 3.0.1
Bug fix: when using labels with the points series, the border of the points was changing color. Fixed by providing a way to specify the border color.
Bug fix: the code was crashing when clicking on a series without having registered a mouse listener on the series.
Bug fix: detection of mouse events on certain series type was crashing Bug fix: CChartTitle::SetVisible was not implemented 13/07/2010: Release of version 3.0.2
Bug fix: the high-speed functionality has been removed by mistake Bug fix: the draw function of the line series was not drawing points Bug fix: replaced Clear() by clear() in the ClearSerie function.
Bug fix: Added implementation of ctor/dtor for the CChartCursorListener class Bug fix: memory leak when the series was cleared (labels were not deleted) Thanks
I would like to thank all the people from this community, they were a great help when I started programming. Thanks also to all the people who contributed to this control with their various help or feedback: toxcct, Chris Maunder, Kevin Hoffman, jerminator-jp, Laurie Gellatly, Eugene Pustovoyt, Andrej Ritter, Nick Holgate, Nick Schultz, Johann Obermayr, Pierre Schramm and Kevin Winter. A special thanks to Bruno Lavier for the time spent working on the control. I hope I didn’t forget anybody.
Links
Chris Maunder’s Colour Picker Control (used in the demo application) Drawing smooth curves with Bezier Primitives License
This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库High-speed Charting Control--MFC绘制图表(折线图、饼图、柱形(5)在线全文阅读。
相关推荐: