-
大小: 89.32MB文件類型: .zip金幣: 2下載: 1 次發(fā)布日期: 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-ba
?????目錄???????????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-ba
?????文件???????19260??2009-12-23?12:05??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件???????17455??2009-12-23?12:05??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????3742??2009-04-04?10:54??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????3155??2009-12-21?11:39??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????3142??2009-12-22?12:02??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????3815??2010-01-17?14:13??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????9777??2010-01-03?12:00??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????6911??2009-10-25?17:22??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????7082??2009-12-28?11:28??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????4320??2009-12-20?12:44??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????1757??2009-02-08?12:48??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????1972??2009-03-08?18:14??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件???????31179??2009-12-28?11:32??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件???????21115??2009-12-28?11:32??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????1483??2009-02-17?20:35??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????3819??2010-01-21?20:31??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件???????10516??2009-12-26?18:41??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????5216??2009-03-07?13:01??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????2438??2009-02-03?21:09??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????2189??2009-03-08?18:19??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????3375??2009-05-18?21:00??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
?????文件????????2923??2009-03-07?20:43??High-speed?Charting?Control?Demo\ChartCtrl\.svn\text-ba
............此處省略299個文件信息
評論
共有 條評論