• 大小: 0.11M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2024-06-14
  • 语言: C/C++
  • 标签: VS2019  MFC  ChartCtrl  

资源简介

对VS2010版进行了优化,在VS2019环境可以使用

资源截图

代码片段和文件信息

/*
 *
 * 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 “pch.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_bIsSecond

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       19257  2021-04-03 15:38  ChartCtrl_source\ChartAxis.cpp
     文件       17455  2021-04-03 15:14  ChartCtrl_source\ChartAxis.h
     文件        3739  2021-04-03 15:38  ChartCtrl_source\ChartAxisLabel.cpp
     文件        3155  2021-04-03 15:14  ChartCtrl_source\ChartAxisLabel.h
     文件        3142  2021-04-03 15:14  ChartCtrl_source\ChartBalloonLabel.h
     文件        3815  2021-04-03 15:14  ChartCtrl_source\ChartBalloonLabel.inl
     文件        9774  2021-04-03 15:38  ChartCtrl_source\ChartBarSerie.cpp
     文件        6911  2021-04-03 15:14  ChartCtrl_source\ChartBarSerie.h
     文件        7079  2021-04-03 15:38  ChartCtrl_source\ChartCandlestickSerie.cpp
     文件        4320  2021-04-03 15:14  ChartCtrl_source\ChartCandlestickSerie.h
     文件        1754  2021-04-03 15:38  ChartCtrl_source\ChartCrossHairCursor.cpp
     文件        1972  2021-04-03 15:14  ChartCtrl_source\ChartCrossHairCursor.h
     文件       31182  2021-04-03 15:40  ChartCtrl_source\ChartCtrl.cpp
     文件       21115  2021-04-03 16:31  ChartCtrl_source\ChartCtrl.h
     文件        1480  2021-04-03 15:38  ChartCtrl_source\ChartCursor.cpp
     文件        3819  2021-04-03 15:14  ChartCtrl_source\ChartCursor.h
     文件       10513  2021-04-03 15:38  ChartCtrl_source\ChartDateTimeAxis.cpp
     文件        5216  2021-04-03 15:14  ChartCtrl_source\ChartDateTimeAxis.h
     文件        2435  2021-04-03 15:38  ChartCtrl_source\ChartDragLineCursor.cpp
     文件        2189  2021-04-03 15:14  ChartCtrl_source\ChartDragLineCursor.h
     文件        3372  2021-04-03 15:38  ChartCtrl_source\ChartFont.cpp
     文件        2923  2021-04-03 15:14  ChartCtrl_source\ChartFont.h
     文件        5820  2021-04-03 15:38  ChartCtrl_source\ChartGanttSerie.cpp
     文件        5010  2021-04-03 15:14  ChartCtrl_source\ChartGanttSerie.h
     文件        3762  2021-04-03 15:38  ChartCtrl_source\ChartGradient.cpp
     文件        1863  2021-04-03 15:14  ChartCtrl_source\ChartGradient.h
     文件        2625  2021-04-03 15:38  ChartCtrl_source\ChartGrid.cpp
     文件        2186  2021-04-03 15:14  ChartCtrl_source\ChartGrid.h
     文件        3699  2021-04-03 15:14  ChartCtrl_source\ChartLabel.h
     文件        1621  2021-04-03 15:14  ChartCtrl_source\ChartLabel.inl
     文件        9101  2021-04-03 15:38  ChartCtrl_source\ChartLegend.cpp
............此处省略27个文件信息

评论

共有 条评论