📄 piedlg.cpp
字号:
// PieDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Practical.h"
#include "PieDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CString strConnect;
extern _ConnectionPtr m_pConnection; //连接对象指针
extern _RecordsetPtr m_pRecordset; //记录集对象指针
/////////////////////////////////////////////////////////////////////////////
// CPieDlg dialog
CPieDlg::CPieDlg(CWnd* pParent /*=NULL*/)
: CDialog(CPieDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CPieDlg)
//}}AFX_DATA_INIT
}
void CPieDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPieDlg)
DDX_Control(pDX, IDC_MSCHART1, m_chart);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPieDlg, CDialog)
//{{AFX_MSG_MAP(CPieDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPieDlg message handlers
BOOL CPieDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
CString name[12],snum[12];
double num[12],sum=0;
CString sql = "select * from tb_ballot";
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);
int i=0;
while(!m_pRecordset->adoEOF)
{
name[i] = (char*)(_bstr_t)m_pRecordset->GetCollect("活动名称");
snum[i] = (char*)(_bstr_t)m_pRecordset->GetCollect("活动票数");
num[i] = atoi(snum[i]);
sum += num[i];
m_pRecordset->MoveNext();
i++;
}
m_pRecordset->Close();
m_chart.SetColumnCount(i);
for(int j=0;j<i;j++)
{
CString scale;
scale.Format("%3.2f%%",num[j]/sum*100);
//设置当前行
m_chart.SetColumn(j+1);
//设置数据
m_chart.SetData(snum[j]);
m_chart.SetColumnLabel(name[j]+scale);
}
m_chart.SetRowLabel("公司活动投票结果");
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -