• 大小: 89.32MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-05-15
  • 语言: C/C++
  • 标签: high-speed  c  

资源简介

High-speed Charting Control Demo,用于MFC画图(包含鼠标响应),具体实现参考作者博客

资源截图

代码片段和文件信息

/*
 *
 * ChartAxis.cpp
 *
 * Written by C閐ric Moonen (cedric_moonen@hotmail.com)
 *
 *
 *
 * This code may be used for any non-commercial and commercial purposes in a compiled form.
 * The code may be redistributed as long as it remains unmodified and providing that the 
 * author name and this disclaimer remain intact. The sources can be modified WITH the author 
 * consent only.
 *
 * This code is provided without any garanties. I cannot be held responsible for the damage or
 * the loss of time it causes. Use it at your own risks
 *
 * An e-mail to notify me that you are using this code is appreciated also.
 *
 */

#include “stdafx.h“
#include “ChartAxis.h“
#include “ChartAxisLabel.h“
#include “ChartGrid.h“
#include “ChartCtrl.h“

#include “Math.h“
#include 

using namespace std;

CChartAxis::CChartAxis() 
 : m_pParentCtrl(NULL) m_bIsHorizontal(true) m_bIsInverted(false) 
   m_AutoMode(NotAutomatic) m_bIsVisible(true) m_bIsSecondary(false) 
   m_MaxValue(0) m_MinValue(0) m_UnzoomMax(0) m_UnzoomMin(0) 
   m_bAutoTicks(true) m_bDiscrete(false)m_StartPos(0) m_EndPos(0) 
   m_nFontSize(80) m_strFontName(_T(“Microsoft Sans Serif“)) m_TextColor(0) 
   m_bAutoMargin(true) m_iMarginSize(0) m_bZoomEnabled(true) 
   m_dZoomLimit(0.001) m_pScrollBar(NULL) m_AxisColor(RGB(000))
{
m_pAxisGrid = new CChartGrid();
m_pAxisLabel = new CChartAxisLabel();
}

CChartAxis::~CChartAxis()
{
if (m_pAxisGrid)
{
delete m_pAxisGrid;
m_pAxisGrid = NULL;
}
if (m_pAxisLabel)
{
delete m_pAxisLabel;
m_pAxisLabel = NULL;
}

if (m_pScrollBar)
{
delete m_pScrollBar;
m_pScrollBar = NULL;
}
}


int CChartAxis::GetPosition()
{
if (m_bIsHorizontal)
{
if (m_bIsSecondary)
return 0;
else
return 100;
}
else
{
if (m_bIsSecondary)
return 100;
else
return 0;
}
}

void CChartAxis::SetParent(CChartCtrl* pParent)
{
m_pParentCtrl = pParent;
m_pAxisGrid->m_pParentCtrl = pParent;
m_pAxisLabel->m_pParentCtrl = pParent;
}

void CChartAxis::SetHorizontal(bool bHorizontal)  

m_bIsHorizontal = bHorizontal; 
m_pAxisGrid->m_bIsHorizontal = bHorizontal;
m_pAxisLabel->SetHorizontal(bHorizontal);
}

void CChartAxis::Draw(CDC *pDC)
{
if (!m_bIsVisible)
return;
if (pDC->GetSafeHdc() == NULL)
return;

// Initialize the different GDI objects
CPen SolidPen(PS_SOLID0m_AxisColor);
CFont NewFont;
NewFont.CreatePointFont(m_nFontSizem_strFontName.c_str()pDC) ;
CPen* pOldPen = pDC->Selectobject(&SolidPen);
CFont* pOldFont = pDC->Selectobject(&NewFont);
COLORREF OldTextColor = pDC->SetTextColor(m_TextColor);
int iPrevMode = pDC->SetBkMode(TRANSPARENT);

// Draw the axis line 
int Pos = 0;
if (m_bIsHorizontal)
{
if (!m_bIsSecondary)
Pos = m_AxisRect.top+1;
else
Pos = m_AxisRect.bottom-1;
pDC->MoveTo(m_StartPosPos);
pDC->LineTo(m_EndPosPos);
}
else
{
if (!m_bIsSec

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-02-14 19:25  High-speed Charting Control Demo\
     目录           0  2019-02-14 18:37  High-speed Charting Control Demo\ChartCtrl\
     目录           0  2019-02-14 18:37  High-speed Charting Control Demo\ChartCtrl\.svn\
     文件        3966  2010-07-10 11:56  High-speed Charting Control Demo\ChartCtrl\.svn\all-wcprops
     文件        7834  2010-07-10 11:56  High-speed Charting Control Demo\ChartCtrl\.svn\entries
     文件           2  2009-03-07 12:19  High-speed Charting Control Demo\ChartCtrl\.svn\format
     目录           0  2019-02-14 19:25  High-speed Charting Control Demo\ChartCtrl\.svn\prop-base\
     目录           0  2019-02-14 19:25  High-speed Charting Control Demo\ChartCtrl\.svn\props\
     目录           0  2019-02-14 18:37  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\
     文件       19260  2009-12-23 12:05  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartAxis.cpp.svn-base
     文件       17455  2009-12-23 12:05  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartAxis.h.svn-base
     文件        3742  2009-04-04 10:54  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartAxisLabel.cpp.svn-base
     文件        3155  2009-12-21 11:39  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartAxisLabel.h.svn-base
     文件        3142  2009-12-22 12:02  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartBalloonLabel.h.svn-base
     文件        3815  2010-01-17 14:13  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartBalloonLabel.inl.svn-base
     文件        9777  2010-01-03 12:00  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartBarSerie.cpp.svn-base
     文件        6911  2009-10-25 17:22  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartBarSerie.h.svn-base
     文件        7082  2009-12-28 11:28  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartCandlestickSerie.cpp.svn-base
     文件        4320  2009-12-20 12:44  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartCandlestickSerie.h.svn-base
     文件        1757  2009-02-08 12:48  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartCrossHairCursor.cpp.svn-base
     文件        1972  2009-03-08 18:14  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartCrossHairCursor.h.svn-base
     文件       31179  2009-12-28 11:32  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartCtrl.cpp.svn-base
     文件       21115  2009-12-28 11:32  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartCtrl.h.svn-base
     文件        1483  2009-02-17 20:35  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartCursor.cpp.svn-base
     文件        3819  2010-01-21 20:31  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartCursor.h.svn-base
     文件       10516  2009-12-26 18:41  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartDateTimeAxis.cpp.svn-base
     文件        5216  2009-03-07 13:01  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartDateTimeAxis.h.svn-base
     文件        2438  2009-02-03 21:09  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartDragLineCursor.cpp.svn-base
     文件        2189  2009-03-08 18:19  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartDragLineCursor.h.svn-base
     文件        3375  2009-05-18 21:00  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartFont.cpp.svn-base
     文件        2923  2009-03-07 20:43  High-speed Charting Control Demo\ChartCtrl\.svn\text-base\ChartFont.h.svn-base
............此处省略299个文件信息

评论

共有 条评论