⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 incomechart.cpp

📁 赛克思书店销售管理系统.可用于二次开发,以C++与sql 写.
💻 CPP
字号:
// IncomeChart.cpp : implementation file
//

#include "stdafx.h"
#include "resource.h"
#include "IncomeChart.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CIncomeChart dialog
static int RunInfor[32];
static int check = RunInfor[0];
CIncomeChart::CIncomeChart(CWnd* pParent /*=NULL*/)
	: CDialog(CIncomeChart::IDD, pParent)
{
	//{{AFX_DATA_INIT(CIncomeChart)
	//}}AFX_DATA_INIT
}


void CIncomeChart::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CIncomeChart)
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CIncomeChart, CDialog)
	//{{AFX_MSG_MAP(CIncomeChart)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CIncomeChart message handlers
BOOL CIncomeChart::OnInitDialog()
{
	CDialog::OnInitDialog();
	for(int j = 0; j < 30; j++)
		RunInfor[j] = 0;
	OnRefreshData();
	return TRUE;
}

void CIncomeChart::OnRefreshData()
{
	SHOP::_RecordsetPtr pRst;
	CString _sql;
	int i = 1;
	for(i = 1; i < 31; i ++)
	{
		_sql.Format("select * from BUSINESSINFO where DATES = trunc(SYSDATE - %d)",i);
		_bstr_t sql = _sql;

		try
		{
			pRst = pConn->Execute(sql,NULL,SHOP::adCmdText);
			while(!pRst->End)
			{
				_variant_t vIncome = pRst->Fields->GetItem(long(1))->Value;
				_variant_t vPayout = pRst->Fields->GetItem(long(2))->Value;
				RunInfor[i-1] += vIncome.iVal - vPayout.iVal;

				pRst->MoveNext();
			}
			for(int j = 0; j< 30; j++)
			{
				if(RunInfor[j] < RunInfor[j+1])
					check = RunInfor[j+1];
			}
		}
		catch(_com_error& e)
		{
			AfxMessageBox(e.Description());
		}
	}
	pRst->Close();
	pRst.Release();
}


void CIncomeChart::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	CBrush brush;
	brush.CreateSolidBrush(RGB(240,240,240));
	CBrush *pOldBrush = dc.SelectObject(&brush);
	//绘制坐标系
	dc.SetBkColor(RGB(214,215,206));
	dc.MoveTo(50,20);
	dc.LineTo(50,350);
	dc.MoveTo(50,350);
	dc.LineTo(700,350);
	//绘制两个箭头
	dc.MoveTo(40,40);
	dc.LineTo(50,20);
	dc.MoveTo(60,40);
	dc.LineTo(50,20);
	dc.MoveTo(685,340);
	dc.LineTo(700,350);
	dc.MoveTo(685,360);
	dc.LineTo(700,350);
	dc.TextOut(25,30,"N");
	//绘制刻度线
	CString day;
	if(check)
	{
		for(int i = 0; i < 31; i++)
		{
			day.Format("%d",i+1);
			dc.MoveTo(70+i*20,350);
			dc.LineTo(70+i*20,345);
			dc.TextOut(55+i*20,355,day);

			CString strnum;
			strnum.Format("%d",RunInfor[i]);
			dc.Rectangle(50+i*20,350-300*RunInfor[i]/check,70+i*20,350);
			dc.TextOut(55+i*20,330-300*RunInfor[i]/check,strnum);
		}
	}

	CDialog::OnPaint();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -