www.pudn.com > DrawGrInDlg.rar > DrawGrInDlgDlg.cpp


// DrawGrInDlgDlg.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "DrawGrInDlg.h" 
#include "DrawGrInDlgDlg.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CDrawGrInDlgDlg dialog 
 
CDrawGrInDlgDlg::CDrawGrInDlgDlg(CWnd* pParent /*=NULL*/) 
	: CScrollDialog(CDrawGrInDlgDlg::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(CDrawGrInDlgDlg) 
		// NOTE: the ClassWizard will add member initialization here 
	//}}AFX_DATA_INIT 
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32 
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); 
	line = NULL; 
} 
 
void CDrawGrInDlgDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CScrollDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CDrawGrInDlgDlg) 
	DDX_Control(pDX, IDC_STATIC1, m_ctrl1); 
	//}}AFX_DATA_MAP 
} 
 
BEGIN_MESSAGE_MAP(CDrawGrInDlgDlg, CScrollDialog) 
	//{{AFX_MSG_MAP(CDrawGrInDlgDlg) 
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1) 
	ON_BN_CLICKED(IDC_BUTTON2, OnButton2) 
	ON_BN_CLICKED(IDC_BUTTON3, OnButton3) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CDrawGrInDlgDlg message handlers 
 
BOOL CDrawGrInDlgDlg::OnInitDialog() 
{ 
	CScrollDialog::OnInitDialog(); 
 
	// Set the icon for this dialog.  The framework does this automatically 
	//  when the application's main window is not a dialog 
	SetIcon(m_hIcon, TRUE);			// Set big icon 
	SetIcon(m_hIcon, FALSE);		// Set small icon 
	 
	CenterWindow(GetDesktopWindow());	// center to the hpc screen 
 
	m_ctrl1.CreateObject(GR_PIE); 
 
	m_ctrl1.SetLegend(_T("一月"),35,RGB(255,0,0)); 
	m_ctrl1.SetLegend(_T("二月"),55,RGB(255,255,0)); 
	m_ctrl1.SetLegend(_T("三月"),100,RGB(0,255,0)); 
	m_ctrl1.SetLegend(_T("四月"),60,RGB(0,255,255)); 
	m_ctrl1.SetLegend(_T("五月"),60,RGB(0,0,255)); 
 
	return TRUE;  // return TRUE  unless you set the focus to a control 
} 
 
 
 
void CDrawGrInDlgDlg::OnButton1()  
{ 
	 
	if( !m_ctrl1.IsFree() ) 
		m_ctrl1.ReleaseObject(); 
 
	m_ctrl1.CreateObject(GR_PIE); 
 
	m_ctrl1.SetLegend(_T("1月"),35,RGB(255,0,0)); 
	m_ctrl1.SetLegend(_T("2月"),55,RGB(255,255,0)); 
	m_ctrl1.SetLegend(_T("3月"),100,RGB(0,255,0)); 
	m_ctrl1.SetLegend(_T("4月"),60,RGB(0,255,255)); 
	m_ctrl1.SetLegend(_T("5月"),60,RGB(0,0,255)); 
	 
	m_ctrl1.SetPieWithText(); 
//	m_ctrl1.SetCutPie(); 
 
	m_ctrl1.Invalidate(); 
} 
 
void CDrawGrInDlgDlg::OnButton2()  
{ 
	if( !m_ctrl1.IsFree() ) 
		m_ctrl1.ReleaseObject(); 
 
	m_ctrl1.CreateObject(GR_BAR); 
	 
	m_ctrl1.SetYMin(25); 
	m_ctrl1.SetYMax(100); 
	m_ctrl1.SetYName(_T("纵坐标")); 
	m_ctrl1.SetXName(_T("横坐标")); 
	m_ctrl1.SetTitle(_T("五个柱状图")); 
	m_ctrl1.SetLegend(_T("一月"),35,RGB(255,0,0)); 
	m_ctrl1.SetLegend(_T("二月"),55,RGB(255,255,0)); 
	m_ctrl1.SetLegend(_T("三月"),100,RGB(0,255,0)); 
	m_ctrl1.SetLegend(_T("四月"),60,RGB(0,255,255)); 
	m_ctrl1.SetLegend(_T("五月"),60,RGB(0,0,255)); 
	m_ctrl1.Set3DBar(TRUE); 
	m_ctrl1.SetWithDash(TRUE); 
 
	m_ctrl1.Invalidate(); 
} 
 
void CDrawGrInDlgDlg::OnButton3()  
{ 
	if( !m_ctrl1.IsFree() ) 
		m_ctrl1.ReleaseObject(); 
 
	m_ctrl1.CreateObject(GR_LINE); 
 
	m_ctrl1.SetTitle(_T("曲线图")); 
	m_ctrl1.SetYName(_T("纵坐标")); 
	m_ctrl1.SetXName(_T("横坐标")); 
	m_ctrl1.SetYMin(0); 
	m_ctrl1.SetYMax(100); 
	m_ctrl1.SetXMin(0); 
	m_ctrl1.SetXMax(100); 
	m_ctrl1.SetWithDash(TRUE); 
	int iIndex = m_ctrl1.AddLine(); 
	m_ctrl1.SetLegend(iIndex,_T("一月")); 
	m_ctrl1.SetPointType(iIndex,CBaseGr::CIRCLE); 
	m_ctrl1.SetLineColor(iIndex,RGB(255,0,0)); 
	m_ctrl1.SetPointColor(iIndex,RGB(255,0,0)); 
	m_ctrl1.AddLineData(iIndex,10,10); 
	m_ctrl1.AddLineData(iIndex,20,20); 
	m_ctrl1.AddLineData(iIndex,30,40); 
	m_ctrl1.AddLineData(iIndex,40,40); 
	m_ctrl1.AddLineData(iIndex,50,60); 
	m_ctrl1.AddLineData(iIndex,60,60); 
 
	iIndex = m_ctrl1.AddLine(); 
	m_ctrl1.SetLegend(iIndex,_T("二月")); 
	m_ctrl1.SetPointType(iIndex,CBaseGr::FDIAMOND); 
	m_ctrl1.SetLineColor(iIndex,RGB(0,255,0)); 
	m_ctrl1.SetPointColor(iIndex,RGB(0,255,0)); 
	m_ctrl1.AddLineData(iIndex,10,30); 
	m_ctrl1.AddLineData(iIndex,25,20); 
	m_ctrl1.AddLineData(iIndex,35,40); 
	m_ctrl1.AddLineData(iIndex,40,50); 
	m_ctrl1.AddLineData(iIndex,50,65); 
	m_ctrl1.AddLineData(iIndex,60,70); 
 
	m_ctrl1.SetDotSize(3); 
 
	m_ctrl1.Invalidate(); 
}