资源简介
对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个文件信息
相关资源
- 商品库存管理系统 C++ MFC
- mfc 调用redis
- MFC视频播放器源码(支持avi/wma/mp3等格
- mfc绘图大全(画直线、矩形、椭圆)
- MFC控件重绘
- hook,捕获所有案件,查找所有窗口,
- (学习)VS2010之MFC入门到精通教程
- MFC文档_视图_框架_模板结构体系深入
- 简单员工管理系统(适合初学MFC)
- MFC五子棋游戏
- MFC UDP编程
- MFC的异步网络通讯应用程序
- C++MFC模块讲解,黑发程序员课程整理
- 一个简单而强大的基于MFC的web server源
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- MFCaccess.rar
- VC++MFC课程设计的学生成绩管理系统
- MFC 日历控件 万年历 Calendar自绘
- CrystalDiskInfo-HDD/SSD硬盘信息,SMART信息
- MFC自定义界面HUI,高效简单,含详细
- 仿射密码-Affine cipher
- c++MFC车牌自动识别定位,只能定位和
- mfc+sql 酒店客房管理系统
- 基于图割的图像分割OpenCV+MFC实现
- MFC绘制Bezier曲线B样条曲线曲线拟合
- MFC坦克大战
- VC++ 中国象棋经典游戏源代码
- 课程设计: MFC 学生信息管理系统
- MFC对ACCESS数据库的增加、删除、查找
- vc.6.0 MFC 人事管理系统源码
评论
共有 条评论