Click here to Skip to main content
15,886,518 members
Articles / Desktop Programming / MFC

High-speed Charting Control

Rate me:
Please Sign up or sign in to vote.
4.95/5 (327 votes)
13 Jul 2010CPOL35 min read 4.2M   100.5K   787  
A flexible charting control to display 2D data
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ChartDemo: CChartCtrl Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>CChartCtrl Class Reference</h1><!-- doxytag: class="CChartCtrl" -->The main chart control class.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="_chart_ctrl_8h-source.html">ChartCtrl.h</a>&gt;</code>
<p>

<p>
<a href="class_c_chart_ctrl-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a> { <b>LeftAxis</b> =  0, 
<b>BottomAxis</b>, 
<b>RightAxis</b>, 
<b>TopAxis</b>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An enumeration of the different axis positions. <br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">CDC *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#7eb83f30c58c547003b8475e952f9dad">GetDC</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves de device context.  <a href="#7eb83f30c58c547003b8475e952f9dad"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b37a22c4da3490d368363a83b2f6253"></a><!-- doxytag: member="CChartCtrl::GetPlottingRect" ref="6b37a22c4da3490d368363a83b2f6253" args="() const " -->
CRect&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#6b37a22c4da3490d368363a83b2f6253">GetPlottingRect</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the plotting rectangle. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="71b90984862569848a3a60210a5dc1a9"></a><!-- doxytag: member="CChartCtrl::GetLegend" ref="71b90984862569848a3a60210a5dc1a9" args="() const " -->
<a class="el" href="class_c_chart_legend.html">CChartLegend</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#71b90984862569848a3a60210a5dc1a9">GetLegend</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the legend object. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7f303be46f9fecae1ca6311dc5a17e98"></a><!-- doxytag: member="CChartCtrl::GetTitle" ref="7f303be46f9fecae1ca6311dc5a17e98" args="() const " -->
<a class="el" href="class_c_chart_title.html">CChartTitle</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#7f303be46f9fecae1ca6311dc5a17e98">GetTitle</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the title object. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_standard_axis.html">CChartStandardAxis</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#5ac2726eb8085645d4afa25f8d0e9153">CreateStandardAxis</a> (<a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a> axisPos)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and attach a standard axis to the control.  <a href="#5ac2726eb8085645d4afa25f8d0e9153"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_logarithmic_axis.html">CChartLogarithmicAxis</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#e486f97544fc5c408e18daf0e6aafe68">CreateLogarithmicAxis</a> (<a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a> axisPos)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and attach a logarithmic axis to the control.  <a href="#e486f97544fc5c408e18daf0e6aafe68"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_date_time_axis.html">CChartDateTimeAxis</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#139df86f220cc33e8661d012e4f39a38">CreateDateTimeAxis</a> (<a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a> axisPos)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and attach a date/time axis to the control.  <a href="#139df86f220cc33e8661d012e4f39a38"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#033fb8812e4df872c4ecae989f9a37eb">AttachCustomAxis</a> (<a class="el" href="class_c_chart_axis.html">CChartAxis</a> *pAxis, <a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a> axisPos)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach a custom axis to the control.  <a href="#033fb8812e4df872c4ecae989f9a37eb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_points_serie.html">CChartPointsSerie</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#12edc002960c38d129152c10e96cf81c">CreatePointsSerie</a> (bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and attach a point series to the control.  <a href="#12edc002960c38d129152c10e96cf81c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_line_serie.html">CChartLineSerie</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#3e92e6744ffe32b53773cf547529c875">CreateLineSerie</a> (bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and attach a line series to the control.  <a href="#3e92e6744ffe32b53773cf547529c875"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_surface_serie.html">CChartSurfaceSerie</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#8e955846e668b3cb860d08550f995aa2">CreateSurfaceSerie</a> (bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and attach a surface series to the control.  <a href="#8e955846e668b3cb860d08550f995aa2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_bar_serie.html">CChartBarSerie</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#c166a75bb6f77ee1855debe7d6cd3338">CreateBarSerie</a> (bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and attach a bar series to the control.  <a href="#c166a75bb6f77ee1855debe7d6cd3338"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_candlestick_serie.html">CChartCandlestickSerie</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#d77ceffac6ea6ee9b5c682c833018221">CreateCandlestickSerie</a> (bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and attach a candlestick series to the control.  <a href="#d77ceffac6ea6ee9b5c682c833018221"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_gantt_serie.html">CChartGanttSerie</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#570fba5a86bbbacb0c03f408ef767327">CreateGanttSerie</a> (bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and attach a gantt series to the control.  <a href="#570fba5a86bbbacb0c03f408ef767327"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#5ab5b2ae76f9ad0130a164d28efb1f5b">AttachCustomSerie</a> (<a class="el" href="class_c_chart_serie.html">CChartSerie</a> *pNewSeries, bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attaches a custom series to the chart.  <a href="#5ab5b2ae76f9ad0130a164d28efb1f5b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_serie.html">CChartSerie</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#3c1119756906792a51ab691191e488af">GetSerie</a> (unsigned uSerieId) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a specific series from the chart.  <a href="#3c1119756906792a51ab691191e488af"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#8b7cd54df388e7a1dacb6b637f77551e">RemoveSerie</a> (unsigned uSerieId)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a specific series from the chart.  <a href="#8b7cd54df388e7a1dacb6b637f77551e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6fef22e15e44fa2fafe8f924498a81c9"></a><!-- doxytag: member="CChartCtrl::RemoveAllSeries" ref="6fef22e15e44fa2fafe8f924498a81c9" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#6fef22e15e44fa2fafe8f924498a81c9">RemoveAllSeries</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all the series from the chart. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d79d9e5978eb957366dbe3d4d71c4902"></a><!-- doxytag: member="CChartCtrl::GetSeriesCount" ref="d79d9e5978eb957366dbe3d4d71c4902" args="() const " -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#d79d9e5978eb957366dbe3d4d71c4902">GetSeriesCount</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of series in the chart. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_cross_hair_cursor.html">CChartCrossHairCursor</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#06f647456e4a0716355b6c79cacce71f">CreateCrossHairCursor</a> (bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and attach a cross-hair cursor to the control.  <a href="#06f647456e4a0716355b6c79cacce71f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_drag_line_cursor.html">CChartDragLineCursor</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#fc19342eec58562148b11b255ede154e">CreateDragLineCursor</a> (<a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a> relatedAxis)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and attach a drag-line cursor to the control.  <a href="#fc19342eec58562148b11b255ede154e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#81c624348084247a037e014ad2bd3a86">AttachCustomCursor</a> (<a class="el" href="class_c_chart_cursor.html">CChartCursor</a> *pCursor)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attach a custom cursor to the control.  <a href="#81c624348084247a037e014ad2bd3a86"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#dfbc638ec9af58004c98cba37b9d8b4c">RemoveCursor</a> (unsigned cursorId)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a cursor with a specific Id from the control.  <a href="#dfbc638ec9af58004c98cba37b9d8b4c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c291e28722ae86db4c721fa0dd6fb060"></a><!-- doxytag: member="CChartCtrl::ShowMouseCursor" ref="c291e28722ae86db4c721fa0dd6fb060" args="(bool bShow)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#c291e28722ae86db4c721fa0dd6fb060">ShowMouseCursor</a> (bool bShow)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shows/hides the mouse cursor when it is over the plotting area. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f8f60621589f2dfc4674f0b7d0e00649"></a><!-- doxytag: member="CChartCtrl::GetBottomAxis" ref="f8f60621589f2dfc4674f0b7d0e00649" args="() const " -->
<a class="el" href="class_c_chart_axis.html">CChartAxis</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetBottomAxis</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="23c86a3a34a0fc0abf1508a521f96442"></a><!-- doxytag: member="CChartCtrl::GetLeftAxis" ref="23c86a3a34a0fc0abf1508a521f96442" args="() const " -->
<a class="el" href="class_c_chart_axis.html">CChartAxis</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetLeftAxis</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="66d72842eae94d7bdbcdce5532200a91"></a><!-- doxytag: member="CChartCtrl::GetTopAxis" ref="66d72842eae94d7bdbcdce5532200a91" args="() const " -->
<a class="el" href="class_c_chart_axis.html">CChartAxis</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetTopAxis</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d47cc9da6d9f08d1dc9599c24d8599b"></a><!-- doxytag: member="CChartCtrl::GetRightAxis" ref="5d47cc9da6d9f08d1dc9599c24d8599b" args="() const " -->
<a class="el" href="class_c_chart_axis.html">CChartAxis</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetRightAxis</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_axis.html">CChartAxis</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#f7283d9146c122e4580444355ea2951e">GetAxis</a> (<a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a> axisPos) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a specific axis attached to the control.  <a href="#f7283d9146c122e4580444355ea2951e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="58f25dcbd40c1e2ff76aabc3d7dd89a1"></a><!-- doxytag: member="CChartCtrl::GetEdgeType" ref="58f25dcbd40c1e2ff76aabc3d7dd89a1" args="() const " -->
UINT&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#58f25dcbd40c1e2ff76aabc3d7dd89a1">GetEdgeType</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type of the edge used as border. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#563757fa50cbea7cf59f3198c488f099">SetEdgeType</a> (UINT NewEdge)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the edge type.  <a href="#563757fa50cbea7cf59f3198c488f099"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7b7896c0f8b00298b29da08d7af334c7"></a><!-- doxytag: member="CChartCtrl::GetBackColor" ref="7b7896c0f8b00298b29da08d7af334c7" args="() const " -->
COLORREF&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#7b7896c0f8b00298b29da08d7af334c7">GetBackColor</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the background color. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5e0c98f70ec80366519cf4bb53b673a"></a><!-- doxytag: member="CChartCtrl::SetBackColor" ref="f5e0c98f70ec80366519cf4bb53b673a" args="(COLORREF NewCol)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#f5e0c98f70ec80366519cf4bb53b673a">SetBackColor</a> (COLORREF NewCol)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the background color. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8761c0b97fc83ee817e5331cd6427640"></a><!-- doxytag: member="CChartCtrl::GetBorderColor" ref="8761c0b97fc83ee817e5331cd6427640" args="() const " -->
COLORREF&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#8761c0b97fc83ee817e5331cd6427640">GetBorderColor</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the color of the plotting area's border. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5ce83aa18830eb77fe86f6f0e9fbca5c"></a><!-- doxytag: member="CChartCtrl::SetBorderColor" ref="5ce83aa18830eb77fe86f6f0e9fbca5c" args="(COLORREF NewCol)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#5ce83aa18830eb77fe86f6f0e9fbca5c">SetBorderColor</a> (COLORREF NewCol)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the color of the plotting area's border. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="16ad1084a1fc0b81fc5fbec67ac61225"></a><!-- doxytag: member="CChartCtrl::GetZoomRectColor" ref="16ad1084a1fc0b81fc5fbec67ac61225" args="() const " -->
COLORREF&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#16ad1084a1fc0b81fc5fbec67ac61225">GetZoomRectColor</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the color of the zoom rectangle. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7768a52e5e832e56d209d47c1d1d2353"></a><!-- doxytag: member="CChartCtrl::SetZoomRectColor" ref="7768a52e5e832e56d209d47c1d1d2353" args="(COLORREF NewCol)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#7768a52e5e832e56d209d47c1d1d2353">SetZoomRectColor</a> (COLORREF NewCol)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the color of the zoom rectangle. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#eba2c09d64040effe8f34bb20be233b3">SetBackGradient</a> (COLORREF Col1, COLORREF Col2, EGradientType GradientType)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a gradient background.  <a href="#eba2c09d64040effe8f34bb20be233b3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="90bdfd131496b3c57a35728cfea14555"></a><!-- doxytag: member="CChartCtrl::SetPanEnabled" ref="90bdfd131496b3c57a35728cfea14555" args="(bool bEnabled)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#90bdfd131496b3c57a35728cfea14555">SetPanEnabled</a> (bool bEnabled)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enables/disables the pan feature. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="284f24403873ab07b7269460edf17118"></a><!-- doxytag: member="CChartCtrl::GetPanEnabled" ref="284f24403873ab07b7269460edf17118" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#284f24403873ab07b7269460edf17118">GetPanEnabled</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the pan feature is enabled. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0d48ddf5d039855f2ca492351b34e911"></a><!-- doxytag: member="CChartCtrl::SetZoomEnabled" ref="0d48ddf5d039855f2ca492351b34e911" args="(bool bEnabled)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#0d48ddf5d039855f2ca492351b34e911">SetZoomEnabled</a> (bool bEnabled)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enables/disables the zoom feature. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c4353590178e76e508899344819049e"></a><!-- doxytag: member="CChartCtrl::GetZoomEnabled" ref="0c4353590178e76e508899344819049e" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#0c4353590178e76e508899344819049e">GetZoomEnabled</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the zoom feature is enabled. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39a297d54bf34bcb0fb4b828144101c8"></a><!-- doxytag: member="CChartCtrl::UndoPanZoom" ref="39a297d54bf34bcb0fb4b828144101c8" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#39a297d54bf34bcb0fb4b828144101c8">UndoPanZoom</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Undo all pan and zoom operations that were done on the chart. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#0da996ee17f075ae68e81e9b38670435">RefreshCtrl</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forces a refresh of the control.  <a href="#0da996ee17f075ae68e81e9b38670435"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#8c888f1b6cfd77487dbad88707c449be">EnableRefresh</a> (bool bEnable)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enables/disables the refresh of the control.  <a href="#8c888f1b6cfd77487dbad88707c449be"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#1508a990e3ee11b4eb295f1df6449c37">Create</a> (CWnd *pParentWnd, const RECT &amp;rect, UINT nID, DWORD dwStyle=WS_VISIBLE)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates the control dynamically.  <a href="#1508a990e3ee11b4eb295f1df6449c37"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#1a1c8856c1153cf65dbf639256bf1f03">Print</a> (const TChartString &amp;strTitle, CPrintDialog *pPrntDialog=NULL)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print the chart.  <a href="#1a1c8856c1153cf65dbf639256bf1f03"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ac67bd59aadf956ea8fcf2b933ba13a9"></a><!-- doxytag: member="CChartCtrl::CChartCtrl" ref="ac67bd59aadf956ea8fcf2b933ba13a9" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#ac67bd59aadf956ea8fcf2b933ba13a9">CChartCtrl</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e7683743f220c085fd43e1ab89f55c23"></a><!-- doxytag: member="CChartCtrl::~CChartCtrl" ref="e7683743f220c085fd43e1ab89f55c23" args="()" -->
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#e7683743f220c085fd43e1ab89f55c23">~CChartCtrl</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default destructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#58213a4a92ca79f58bc1f4615a9a6b16">RegisterMouseListener</a> (<a class="el" href="class_c_chart_mouse_listener.html">CChartMouseListener</a> *pMouseListener)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register a mouse listener with the control.  <a href="#58213a4a92ca79f58bc1f4615a9a6b16"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#df7e0680c430c94b490abca3601fe500">GoToFirstSerie</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tell the control to set the current series to the first series.  <a href="#df7e0680c430c94b490abca3601fe500"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_chart_serie.html">CChartSerie</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#79833e51527801b30cb26197b34c15d8">GetNextSerie</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the next series in the control.  <a href="#79833e51527801b30cb26197b34c15d8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="feb25bdbea159c7e89d3293ba80347d3"></a><!-- doxytag: member="CChartCtrl::RefreshScreenAutoAxes" ref="feb25bdbea159c7e89d3293ba80347d3" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#feb25bdbea159c7e89d3293ba80347d3">RefreshScreenAutoAxes</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Refreshes all the axes which are automatic for the screen. <br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5f04f51f5d74a29ba0e5d8100313c2f9"></a><!-- doxytag: member="CChartCtrl::DateToValue" ref="5f04f51f5d74a29ba0e5d8100313c2f9" args="(const COleDateTime &amp;Date)" -->
static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#5f04f51f5d74a29ba0e5d8100313c2f9">DateToValue</a> (const COleDateTime &amp;Date)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function to convert a date to a double value. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="355792ea4e0bc6dda66910409d22a2d1"></a><!-- doxytag: member="CChartCtrl::ValueToDate" ref="355792ea4e0bc6dda66910409d22a2d1" args="(double Value)" -->
static COleDateTime&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_chart_ctrl.html#355792ea4e0bc6dda66910409d22a2d1">ValueToDate</a> (double Value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function to convert a double value to a date. <br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a2cec38b1acf5c7f424d16fc16814d2"></a><!-- doxytag: member="CChartCtrl::OnPaint" ref="5a2cec38b1acf5c7f424d16fc16814d2" args="()" -->
afx_msg void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnPaint</b> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e86838739796f169afb5cada023c772a"></a><!-- doxytag: member="CChartCtrl::OnEraseBkgnd" ref="e86838739796f169afb5cada023c772a" args="(CDC *pDC)" -->
afx_msg BOOL&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnEraseBkgnd</b> (CDC *pDC)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="160fbd3969bb81e8420f34cb21fe719e"></a><!-- doxytag: member="CChartCtrl::OnSize" ref="160fbd3969bb81e8420f34cb21fe719e" args="(UINT nType, int cx, int cy)" -->
afx_msg void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnSize</b> (UINT nType, int cx, int cy)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19c51ac738cc5463d9476e3981e97aed"></a><!-- doxytag: member="CChartCtrl::OnMouseMove" ref="19c51ac738cc5463d9476e3981e97aed" args="(UINT nFlags, CPoint point)" -->
afx_msg void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnMouseMove</b> (UINT nFlags, CPoint point)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b24f87e27b40cfdea290f594bdf5009d"></a><!-- doxytag: member="CChartCtrl::OnLButtonDown" ref="b24f87e27b40cfdea290f594bdf5009d" args="(UINT nFlags, CPoint point)" -->
afx_msg void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnLButtonDown</b> (UINT nFlags, CPoint point)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4860ddc3f23e08fc151a29a52912e59"></a><!-- doxytag: member="CChartCtrl::OnLButtonUp" ref="b4860ddc3f23e08fc151a29a52912e59" args="(UINT nFlags, CPoint point)" -->
afx_msg void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnLButtonUp</b> (UINT nFlags, CPoint point)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8078cfa5ad260ae3aa94b17accffeff7"></a><!-- doxytag: member="CChartCtrl::OnLButtonDblClk" ref="8078cfa5ad260ae3aa94b17accffeff7" args="(UINT nFlags, CPoint point)" -->
afx_msg void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnLButtonDblClk</b> (UINT nFlags, CPoint point)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ddc3523aa5c318f67a4e7b57b67cfd52"></a><!-- doxytag: member="CChartCtrl::OnRButtonDown" ref="ddc3523aa5c318f67a4e7b57b67cfd52" args="(UINT nFlags, CPoint point)" -->
afx_msg void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnRButtonDown</b> (UINT nFlags, CPoint point)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eff21aa9401c0b722e6c5d2e9bcfde83"></a><!-- doxytag: member="CChartCtrl::OnRButtonUp" ref="eff21aa9401c0b722e6c5d2e9bcfde83" args="(UINT nFlags, CPoint point)" -->
afx_msg void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnRButtonUp</b> (UINT nFlags, CPoint point)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf772b479c2d675fcf66bccdb5679cde"></a><!-- doxytag: member="CChartCtrl::OnRButtonDblClk" ref="bf772b479c2d675fcf66bccdb5679cde" args="(UINT nFlags, CPoint point)" -->
afx_msg void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnRButtonDblClk</b> (UINT nFlags, CPoint point)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c20a185501fef8efb5f9961bf88a7a10"></a><!-- doxytag: member="CChartCtrl::OnHScroll" ref="c20a185501fef8efb5f9961bf88a7a10" args="(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)" -->
afx_msg void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnHScroll</b> (UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="62fbc5a18a61a0167dcea5380175418e"></a><!-- doxytag: member="CChartCtrl::OnVScroll" ref="62fbc5a18a61a0167dcea5380175418e" args="(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)" -->
afx_msg void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnVScroll</b> (UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b58d9de44728ba2e56cd922a3271eaec"></a><!-- doxytag: member="CChartCtrl::OnBeginPrinting" ref="b58d9de44728ba2e56cd922a3271eaec" args="(CDC *pDC, CPrintInfo *pInfo)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnBeginPrinting</b> (CDC *pDC, CPrintInfo *pInfo)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8beddee9881d32752833360a28dab24b"></a><!-- doxytag: member="CChartCtrl::OnPrint" ref="8beddee9881d32752833360a28dab24b" args="(CDC *pDC, CPrintInfo *pInfo)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnPrint</b> (CDC *pDC, CPrintInfo *pInfo)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d359564b199d725c351db8713e0812da"></a><!-- doxytag: member="CChartCtrl::OnEndPrinting" ref="d359564b199d725c351db8713e0812da" args="(CDC *pDC, CPrintInfo *pInfo)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>OnEndPrinting</b> (CDC *pDC, CPrintInfo *pInfo)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19a5621f1886e31bd00ff5f006e796f0"></a><!-- doxytag: member="CChartCtrl::DrawChart" ref="19a5621f1886e31bd00ff5f006e796f0" args="(CDC *pDC, CRect ChartRect)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>DrawChart</b> (CDC *pDC, CRect ChartRect)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8bbd0673aaf6d5de08dd957feb024624"></a><!-- doxytag: member="CChartCtrl::DrawBackground" ref="8bbd0673aaf6d5de08dd957feb024624" args="(CDC *pDC, CRect ChartRect)" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>DrawBackground</b> (CDC *pDC, CRect ChartRect)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The main chart control class. <hr><h2>Member Function Documentation</h2>
<a class="anchor" name="033fb8812e4df872c4ecae989f9a37eb"></a><!-- doxytag: member="CChartCtrl::AttachCustomAxis" ref="033fb8812e4df872c4ecae989f9a37eb" args="(CChartAxis *pAxis, EAxisPos axisPos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CChartCtrl::AttachCustomAxis           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_chart_axis.html">CChartAxis</a> *&nbsp;</td>
          <td class="paramname"> <em>pAxis</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a>&nbsp;</td>
          <td class="paramname"> <em>axisPos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attach a custom axis to the control. 
<p>
This function takes ownership of the axis pointer, so you must not destroy it. If the axis is alread attached to a chart control (even this one), the function will fail with an assertion. This function should be used only when you want to provide a custom axis to the control, otherwise you should use the AttachStandardAxis, AttachLogarithmicAxis and AttachDateTimeAxis instead. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pAxis</em>&nbsp;</td><td>The axis to attach to the control. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>axisPos</em>&nbsp;</td><td>The position of the axis. This value can be:<ul>
<li>LeftAxis</li><li>BottomAxis</li><li>RightAxis</li><li>TopAxis </li></ul>
</td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="81c624348084247a037e014ad2bd3a86"></a><!-- doxytag: member="CChartCtrl::AttachCustomCursor" ref="81c624348084247a037e014ad2bd3a86" args="(CChartCursor *pCursor)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CChartCtrl::AttachCustomCursor           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_chart_cursor.html">CChartCursor</a> *&nbsp;</td>
          <td class="paramname"> <em>pCursor</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attach a custom cursor to the control. 
<p>
You should only use this function if you want to attach a custom cursor to the control. Otherwise, you should use the CreateXXXCursor helper functions. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pCursor</em>&nbsp;</td><td>The custom cursor to be attached to the control. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="5ab5b2ae76f9ad0130a164d28efb1f5b"></a><!-- doxytag: member="CChartCtrl::AttachCustomSerie" ref="5ab5b2ae76f9ad0130a164d28efb1f5b" args="(CChartSerie *pNewSeries, bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CChartCtrl::AttachCustomSerie           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_chart_serie.html">CChartSerie</a> *&nbsp;</td>
          <td class="paramname"> <em>pNewSeries</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryHorizAxis</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryVertAxis</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attaches a custom series to the chart. 
<p>
You should only use this function if you want to attach a custom series to the control. Otherwise, you should use the CreateXXXSerie helper functions. The function will assert if the associated axes are not attached to the control. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pNewSeries</em>&nbsp;</td><td>The new series to be added. The control will take ownership of the pointer, so dont't delete it yourself. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryHorizAxis</em>&nbsp;</td><td>Specifies if the associated horizontal axis is secondary or not. If this value is false, the associated horizontal axis is the bottom axis, otherwise it is the top axis. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryVertAxis</em>&nbsp;</td><td>Specifies if the associated vertical axis is secondary or not. If this value is false, the associated vertical axis is the left axis, otherwise it is the right axis. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="1508a990e3ee11b4eb295f1df6449c37"></a><!-- doxytag: member="CChartCtrl::Create" ref="1508a990e3ee11b4eb295f1df6449c37" args="(CWnd *pParentWnd, const RECT &amp;rect, UINT nID, DWORD dwStyle=WS_VISIBLE)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int CChartCtrl::Create           </td>
          <td>(</td>
          <td class="paramtype">CWnd *&nbsp;</td>
          <td class="paramname"> <em>pParentWnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const RECT &amp;&nbsp;</td>
          <td class="paramname"> <em>rect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINT&nbsp;</td>
          <td class="paramname"> <em>nID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DWORD&nbsp;</td>
          <td class="paramname"> <em>dwStyle</em> = <code>WS_VISIBLE</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates the control dynamically. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pParentWnd</em>&nbsp;</td><td>Parent window of the control </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>rect</em>&nbsp;</td><td>Position of the control </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>nID</em>&nbsp;</td><td>ID of the control </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dwStyle</em>&nbsp;</td><td>Style of the control </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="c166a75bb6f77ee1855debe7d6cd3338"></a><!-- doxytag: member="CChartCtrl::CreateBarSerie" ref="c166a75bb6f77ee1855debe7d6cd3338" args="(bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_bar_serie.html">CChartBarSerie</a> * CChartCtrl::CreateBarSerie           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryHorizAxis</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryVertAxis</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create and attach a bar series to the control. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryHorizAxis</em>&nbsp;</td><td>Specifies if the horizontal axis is the secondary axis or not. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryVertAxis</em>&nbsp;</td><td>Specifies if the vertical axis is the secondary axis or not. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created chart bar series. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The function will assert if the associated axes are not attached to the control. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_chart_ctrl.html#5ab5b2ae76f9ad0130a164d28efb1f5b" title="Attaches a custom series to the chart.">AttachCustomSerie</a> for more info about the parameters of the function. </dd></dl>

</div>
</div><p>
<a class="anchor" name="d77ceffac6ea6ee9b5c682c833018221"></a><!-- doxytag: member="CChartCtrl::CreateCandlestickSerie" ref="d77ceffac6ea6ee9b5c682c833018221" args="(bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_candlestick_serie.html">CChartCandlestickSerie</a> * CChartCtrl::CreateCandlestickSerie           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryHorizAxis</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryVertAxis</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create and attach a candlestick series to the control. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryHorizAxis</em>&nbsp;</td><td>Specifies if the horizontal axis is the secondary axis or not. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryVertAxis</em>&nbsp;</td><td>Specifies if the vertical axis is the secondary axis or not. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created chart candlestick series. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The function will assert if the associated axes are not attached to the control. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_chart_ctrl.html#5ab5b2ae76f9ad0130a164d28efb1f5b" title="Attaches a custom series to the chart.">AttachCustomSerie</a> for more info about the parameters of the function. </dd></dl>

</div>
</div><p>
<a class="anchor" name="06f647456e4a0716355b6c79cacce71f"></a><!-- doxytag: member="CChartCtrl::CreateCrossHairCursor" ref="06f647456e4a0716355b6c79cacce71f" args="(bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_cross_hair_cursor.html">CChartCrossHairCursor</a> * CChartCtrl::CreateCrossHairCursor           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryHorizAxis</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryVertAxis</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create and attach a cross-hair cursor to the control. 
<p>
A cross-hair cursor display a cross on the control and move accordingly to the mouse. It is attached to an horizontal and a vertical axis. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryHorizAxis</em>&nbsp;</td><td>Specifies if the horizontal axis is the secondary axis or not. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryVertAxis</em>&nbsp;</td><td>Specifies if the vertical axis is the secondary axis or not. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created cross-hair cursor. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The function will assert if the associated axes are not attached to the control. </dd></dl>

</div>
</div><p>
<a class="anchor" name="139df86f220cc33e8661d012e4f39a38"></a><!-- doxytag: member="CChartCtrl::CreateDateTimeAxis" ref="139df86f220cc33e8661d012e4f39a38" args="(EAxisPos axisPos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_date_time_axis.html">CChartDateTimeAxis</a> * CChartCtrl::CreateDateTimeAxis           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a>&nbsp;</td>
          <td class="paramname"> <em>axisPos</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create and attach a date/time axis to the control. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>axisPos</em>&nbsp;</td><td>The position of the axis. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created date/time axis. </dd></dl>

</div>
</div><p>
<a class="anchor" name="fc19342eec58562148b11b255ede154e"></a><!-- doxytag: member="CChartCtrl::CreateDragLineCursor" ref="fc19342eec58562148b11b255ede154e" args="(EAxisPos relatedAxis)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_drag_line_cursor.html">CChartDragLineCursor</a> * CChartCtrl::CreateDragLineCursor           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a>&nbsp;</td>
          <td class="paramname"> <em>relatedAxis</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create and attach a drag-line cursor to the control. 
<p>
A drag-line cursor is a simple line (horizontal or vertical) that can be dragged with the mouse by clicking on it. It is attached to a specific axis. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>relatedAxis</em>&nbsp;</td><td>The axis position to which the cursor is attached to. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created drag-line cursor. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The function will assert if the associated axis is not attached to the control. </dd></dl>

</div>
</div><p>
<a class="anchor" name="570fba5a86bbbacb0c03f408ef767327"></a><!-- doxytag: member="CChartCtrl::CreateGanttSerie" ref="570fba5a86bbbacb0c03f408ef767327" args="(bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_gantt_serie.html">CChartGanttSerie</a> * CChartCtrl::CreateGanttSerie           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryHorizAxis</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryVertAxis</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create and attach a gantt series to the control. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryHorizAxis</em>&nbsp;</td><td>Specifies if the horizontal axis is the secondary axis or not. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryVertAxis</em>&nbsp;</td><td>Specifies if the vertical axis is the secondary axis or not. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created chart gantt series. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The function will assert if the associated axes are not attached to the control. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_chart_ctrl.html#5ab5b2ae76f9ad0130a164d28efb1f5b" title="Attaches a custom series to the chart.">AttachCustomSerie</a> for more info about the parameters of the function. </dd></dl>

</div>
</div><p>
<a class="anchor" name="3e92e6744ffe32b53773cf547529c875"></a><!-- doxytag: member="CChartCtrl::CreateLineSerie" ref="3e92e6744ffe32b53773cf547529c875" args="(bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_line_serie.html">CChartLineSerie</a> * CChartCtrl::CreateLineSerie           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryHorizAxis</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryVertAxis</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create and attach a line series to the control. 
<p>
The function will assert if the associated axes are not attached to the control. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryHorizAxis</em>&nbsp;</td><td>Specifies if the horizontal axis is the secondary axis or not. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryVertAxis</em>&nbsp;</td><td>Specifies if the vertical axis is the secondary axis or not. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created chart line series. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The function will assert if the associated axes are not attached to the control. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_chart_ctrl.html#5ab5b2ae76f9ad0130a164d28efb1f5b" title="Attaches a custom series to the chart.">AttachCustomSerie</a> for more info about the parameters of the function. </dd></dl>

</div>
</div><p>
<a class="anchor" name="e486f97544fc5c408e18daf0e6aafe68"></a><!-- doxytag: member="CChartCtrl::CreateLogarithmicAxis" ref="e486f97544fc5c408e18daf0e6aafe68" args="(EAxisPos axisPos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_logarithmic_axis.html">CChartLogarithmicAxis</a> * CChartCtrl::CreateLogarithmicAxis           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a>&nbsp;</td>
          <td class="paramname"> <em>axisPos</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create and attach a logarithmic axis to the control. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>axisPos</em>&nbsp;</td><td>The position of the axis. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created logarithmic axis. </dd></dl>

</div>
</div><p>
<a class="anchor" name="12edc002960c38d129152c10e96cf81c"></a><!-- doxytag: member="CChartCtrl::CreatePointsSerie" ref="12edc002960c38d129152c10e96cf81c" args="(bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_points_serie.html">CChartPointsSerie</a> * CChartCtrl::CreatePointsSerie           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryHorizAxis</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryVertAxis</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create and attach a point series to the control. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryHorizAxis</em>&nbsp;</td><td>Specifies if the horizontal axis is the secondary axis or not. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryVertAxis</em>&nbsp;</td><td>Specifies if the vertical axis is the secondary axis or not. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created chart point series. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The function will assert if the associated axes are not attached to the control. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_chart_ctrl.html#5ab5b2ae76f9ad0130a164d28efb1f5b" title="Attaches a custom series to the chart.">AttachCustomSerie</a> for more info about the parameters of the function. </dd></dl>

</div>
</div><p>
<a class="anchor" name="5ac2726eb8085645d4afa25f8d0e9153"></a><!-- doxytag: member="CChartCtrl::CreateStandardAxis" ref="5ac2726eb8085645d4afa25f8d0e9153" args="(EAxisPos axisPos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_standard_axis.html">CChartStandardAxis</a> * CChartCtrl::CreateStandardAxis           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a>&nbsp;</td>
          <td class="paramname"> <em>axisPos</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create and attach a standard axis to the control. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>axisPos</em>&nbsp;</td><td>The position of the axis. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created standard axis. </dd></dl>

</div>
</div><p>
<a class="anchor" name="8e955846e668b3cb860d08550f995aa2"></a><!-- doxytag: member="CChartCtrl::CreateSurfaceSerie" ref="8e955846e668b3cb860d08550f995aa2" args="(bool bSecondaryHorizAxis=false, bool bSecondaryVertAxis=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_surface_serie.html">CChartSurfaceSerie</a> * CChartCtrl::CreateSurfaceSerie           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryHorizAxis</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bSecondaryVertAxis</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create and attach a surface series to the control. 
<p>
The function will assert if the associated axes are not attached to the control. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryHorizAxis</em>&nbsp;</td><td>Specifies if the horizontal axis is the secondary axis or not. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bSecondaryVertAxis</em>&nbsp;</td><td>Specifies if the vertical axis is the secondary axis or not. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The created chart surface series. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The function will assert if the associated axes are not attached to the control. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="class_c_chart_ctrl.html#5ab5b2ae76f9ad0130a164d28efb1f5b" title="Attaches a custom series to the chart.">AttachCustomSerie</a> for more info about the parameters of the function. </dd></dl>

</div>
</div><p>
<a class="anchor" name="8c888f1b6cfd77487dbad88707c449be"></a><!-- doxytag: member="CChartCtrl::EnableRefresh" ref="8c888f1b6cfd77487dbad88707c449be" args="(bool bEnable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CChartCtrl::EnableRefresh           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>bEnable</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Enables/disables the refresh of the control. 
<p>
This function is used when several settings have to be changed at the same time on the control. This way we can avoid refreshing the control when it is not needed. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bEnable</em>&nbsp;</td><td>false to disable the refresh and true to re-enable the refresh. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="f7283d9146c122e4580444355ea2951e"></a><!-- doxytag: member="CChartCtrl::GetAxis" ref="f7283d9146c122e4580444355ea2951e" args="(EAxisPos axisPos) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_axis.html">CChartAxis</a>* CChartCtrl::GetAxis           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_chart_ctrl.html#28d7cd5253e1e7970ffbd2838a028419">EAxisPos</a>&nbsp;</td>
          <td class="paramname"> <em>axisPos</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a specific axis attached to the control. 
<p>
If the specified axis does not exist, NULL is returned. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>axisPos</em>&nbsp;</td><td>The axis position (left, bottom, right or top). </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="7eb83f30c58c547003b8475e952f9dad"></a><!-- doxytag: member="CChartCtrl::GetDC" ref="7eb83f30c58c547003b8475e952f9dad" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CDC * CChartCtrl::GetDC           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieves de device context. 
<p>
This function is used for internal purposes only. 
</div>
</div><p>
<a class="anchor" name="79833e51527801b30cb26197b34c15d8"></a><!-- doxytag: member="CChartCtrl::GetNextSerie" ref="79833e51527801b30cb26197b34c15d8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_serie.html">CChartSerie</a> * CChartCtrl::GetNextSerie           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the next series in the control. 
<p>
This function is used with the GoToFirstSerie to iterate over all series in the control. First call GoToFirstSerie and then call this function until it returns NULL to iterate over all series. Warning: calling this function without calling GoToFirstSerie before might lead to unpredicted results. The same if you add or remove series between the call to GetFirstSerie and the call to GetNextSerie. <dl class="return" compact><dt><b>Returns:</b></dt><dd>the next series or NULL if we already are at the last series. </dd></dl>

</div>
</div><p>
<a class="anchor" name="3c1119756906792a51ab691191e488af"></a><!-- doxytag: member="CChartCtrl::GetSerie" ref="3c1119756906792a51ab691191e488af" args="(unsigned uSerieId) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_chart_serie.html">CChartSerie</a>* CChartCtrl::GetSerie           </td>
          <td>(</td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>uSerieId</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieves a specific series from the chart. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>uSerieId</em>&nbsp;</td><td>The Id of the series to retrieve </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The series or NULL if uSerieId is not attributed. </dd></dl>

</div>
</div><p>
<a class="anchor" name="df7e0680c430c94b490abca3601fe500"></a><!-- doxytag: member="CChartCtrl::GoToFirstSerie" ref="df7e0680c430c94b490abca3601fe500" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CChartCtrl::GoToFirstSerie           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tell the control to set the current series to the first series. 
<p>
This function is used with the GetNextSerie to iterate over all series in the control. 
</div>
</div><p>
<a class="anchor" name="1a1c8856c1153cf65dbf639256bf1f03"></a><!-- doxytag: member="CChartCtrl::Print" ref="1a1c8856c1153cf65dbf639256bf1f03" args="(const TChartString &amp;strTitle, CPrintDialog *pPrntDialog=NULL)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CChartCtrl::Print           </td>
          <td>(</td>
          <td class="paramtype">const TChartString &amp;&nbsp;</td>
          <td class="paramname"> <em>strTitle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CPrintDialog *&nbsp;</td>
          <td class="paramname"> <em>pPrntDialog</em> = <code>NULL</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Print the chart. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>strTitle</em>&nbsp;</td><td>The title of the print document. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pPrntDialog</em>&nbsp;</td><td>A pointer to a CPrintDialog. If NULL is passed, the default print dialog will be displayed. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="0da996ee17f075ae68e81e9b38670435"></a><!-- doxytag: member="CChartCtrl::RefreshCtrl" ref="0da996ee17f075ae68e81e9b38670435" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CChartCtrl::RefreshCtrl           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Forces a refresh of the control. 
<p>
This function is used for internal purposes. 
</div>
</div><p>
<a class="anchor" name="58213a4a92ca79f58bc1f4615a9a6b16"></a><!-- doxytag: member="CChartCtrl::RegisterMouseListener" ref="58213a4a92ca79f58bc1f4615a9a6b16" args="(CChartMouseListener *pMouseListener)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CChartCtrl::RegisterMouseListener           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_chart_mouse_listener.html">CChartMouseListener</a> *&nbsp;</td>
          <td class="paramname"> <em>pMouseListener</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Register a mouse listener with the control. 
<p>
This listener will be notified each time a mouse event occurs on the control. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pMouseListener</em>&nbsp;</td><td>The mouse listener to register with this control. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="dfbc638ec9af58004c98cba37b9d8b4c"></a><!-- doxytag: member="CChartCtrl::RemoveCursor" ref="dfbc638ec9af58004c98cba37b9d8b4c" args="(unsigned cursorId)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CChartCtrl::RemoveCursor           </td>
          <td>(</td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>cursorId</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes a cursor with a specific Id from the control. 
<p>
The cursor Id can be retrieved on through the <a class="el" href="class_c_chart_cursor.html#4b2f24e0bbbfb236c52b94050d2f5a07" title="Retrieves the cursor Id.">CChartCursor::GetCursorId</a> function. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cursorId</em>&nbsp;</td><td>The Id of the cursor to remove from the control. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="8b7cd54df388e7a1dacb6b637f77551e"></a><!-- doxytag: member="CChartCtrl::RemoveSerie" ref="8b7cd54df388e7a1dacb6b637f77551e" args="(unsigned uSerieId)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CChartCtrl::RemoveSerie           </td>
          <td>(</td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>uSerieId</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes a specific series from the chart. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>uSerieId</em>&nbsp;</td><td>The Id of the series to be removed. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="eba2c09d64040effe8f34bb20be233b3"></a><!-- doxytag: member="CChartCtrl::SetBackGradient" ref="eba2c09d64040effe8f34bb20be233b3" args="(COLORREF Col1, COLORREF Col2, EGradientType GradientType)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CChartCtrl::SetBackGradient           </td>
          <td>(</td>
          <td class="paramtype">COLORREF&nbsp;</td>
          <td class="paramname"> <em>Col1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">COLORREF&nbsp;</td>
          <td class="paramname"> <em>Col2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EGradientType&nbsp;</td>
          <td class="paramname"> <em>GradientType</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets a gradient background. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Col1</em>&nbsp;</td><td>The first gradient color </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Col2</em>&nbsp;</td><td>The second gradient color </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>GradientType</em>&nbsp;</td><td>The type of gradient used from Col1 to Col2. It can take the following values:<ul>
<li>gtHorizontal: a simple left-to-right gradient, from Col1 to Col2.</li><li>gtVertical: a simple top-to-bottom gradient, from Col1 to Col2.</li><li>gtHorizontalDouble: a left-to-middle-to-right gradient, with Col2 in the middle.</li><li>gtVerticalDouble: a top-to-middle-to-bottom gradient, with Col2 in the middle. </li></ul>
</td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="563757fa50cbea7cf59f3198c488f099"></a><!-- doxytag: member="CChartCtrl::SetEdgeType" ref="563757fa50cbea7cf59f3198c488f099" args="(UINT NewEdge)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CChartCtrl::SetEdgeType           </td>
          <td>(</td>
          <td class="paramtype">UINT&nbsp;</td>
          <td class="paramname"> <em>NewEdge</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the edge type. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>NewEdge</em>&nbsp;</td><td>The type of the edge. See the DrawEdge function in MSDN for a list of the different types. </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li>E:/Sources Misc/ChartDemo/ChartCtrl/<a class="el" href="_chart_ctrl_8h-source.html">ChartCtrl.h</a><li>E:/Sources Misc/ChartDemo/ChartCtrl/ChartCtrl.cpp</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Jan 17 13:33:10 2010 for ChartDemo by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Engineer
Belgium Belgium
I am a 29 years old guy and I live with my girlfriend in Hoegaarden, little city from Belgium well known for its white beer Smile | :) .
I studied as an industrial engineer in electronics but I oriented myself more towards software development when I started to work.
Currently I am working in a research centre in mechatronica. I mainly develop in C++ but I also do a bit of Java.
When I have so spare time, I like to read (mainly fantasy) and play electric guitar.

Comments and Discussions