// YearFormBranch.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "YearFormBranch.h" #include "MyMdi.H" #include "VcPlot.h" #include "VcAxis.h" #include "VcValueScale.h" #include "VcSeriesCollection.h" #include "VcSeries.h" #include "VcPen.h" #include "VcCategoryScale.h" #include "VcColor.h" #include "VcDataGrid.h" #include "VcBackdrop.h" #include "VcFill.h" #include "VcBrush.h" #include "VcDataPoints.h" #include "VcDataPoint.h" #include "VcDataPointLabel.h" #include "VcAxisTitle.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // YearFormBranch BOOL g_bDrawLogin=1; IMPLEMENT_DYNCREATE(YearFormBranch, MyFormView) YearFormBranch::YearFormBranch() : MyFormView(YearFormBranch::IDD) { //{{AFX_DATA_INIT(YearFormBranch) m_year = atoi(g_date.Mid (0,4)); m_month = atoi(g_date.Mid (5,2)); m_day = atoi(g_date.Mid (8,2)); m_check1 = 1; m_check2 = 1; m_check3 = 1; m_check4 = 1; m_radio2 = 0; m_radio1 = 1; m_check5 = 1; m_bInit=0; m_check6 = 1; m_check7 = 1; g_bDrawLogin=0; //}}AFX_DATA_INIT } YearFormBranch::~YearFormBranch() { g_bDrawLogin=1; } void YearFormBranch::DoDataExchange(CDataExchange* pDX) { MyFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(YearFormBranch) DDX_Control(pDX, IDC_COMBO1, m_combomonth); DDX_Control(pDX, IDC_SPIN3, m_spinday); DDX_Control(pDX, IDC_SPIN2, m_spinmonth); DDX_Control(pDX, IDC_SPIN1, m_spinyear); DDX_Control(pDX, IDC_STATIC1, m_static1); DDX_Text(pDX, IDC_EDITyear, m_year); DDV_MinMaxUInt(pDX, m_year, 1900, 3000); DDX_Text(pDX, IDC_EDITmonth, m_month); DDV_MinMaxUInt(pDX, m_month, 1, 12); DDX_Text(pDX, IDC_EDITday, m_day); DDV_MinMaxUInt(pDX, m_day, 1, 31); DDX_Control(pDX, IDC_MSCHART1, m_Chart); DDX_Check(pDX, IDC_CHECK1, m_check1); DDX_Check(pDX, IDC_CHECK2, m_check2); DDX_Check(pDX, IDC_CHECK3, m_check3); DDX_Check(pDX, IDC_CHECK4, m_check4); DDX_Radio(pDX, IDC_RADIO6, m_radio2); DDX_Radio(pDX, IDC_RADIO3, m_radio1); DDX_Control(pDX, IDC_MSCHART2, m_Chart2); DDX_Check(pDX, IDC_CHECK5, m_check5); DDX_Check(pDX, IDC_CHECK6, m_check6); DDX_Check(pDX, IDC_CHECK7, m_check7); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(YearFormBranch, MyFormView) //{{AFX_MSG_MAP(YearFormBranch) ON_BN_CLICKED(IDC_BUTclose, OnBUTclose) ON_EN_CHANGE(IDC_EDITyear, OnChangeEDITyear) ON_EN_CHANGE(IDC_EDITmonth, OnChangeEDITmonth) ON_EN_CHANGE(IDC_EDITday, OnChangeEDITday) ON_BN_CLICKED(IDC_RADIO3, OnRadio3) ON_BN_CLICKED(IDC_RADIO4, OnRadio4) ON_BN_CLICKED(IDC_RADIO5, OnRadio5) ON_BN_CLICKED(IDC_RADIO6, OnRadio6) ON_BN_CLICKED(IDC_RADIO7, OnRadio7) ON_BN_CLICKED(IDC_CHECK1, OnCheck1) ON_BN_CLICKED(IDC_CHECK2, OnCheck2) ON_BN_CLICKED(IDC_CHECK3, OnCheck3) ON_BN_CLICKED(IDC_CHECK4, OnCheck4) ON_BN_CLICKED(IDC_CHECK5, OnCheck5) ON_BN_CLICKED(IDC_CHECK6, OnCheck6) ON_BN_CLICKED(IDC_CHECK7, OnCheck7) ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // YearFormBranch diagnostics #ifdef _DEBUG void YearFormBranch::AssertValid() const { MyFormView::AssertValid(); } void YearFormBranch::Dump(CDumpContext& dc) const { MyFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // YearFormBranch message handlers void YearFormBranch::OnInitialUpdate() { MyFormView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class CMyMdi Mdi; Mdi.SetSubView((CWnd*)GetParent(), (CWnd*)this); // Here we create the outbar control using the splitter as its parent // and setting its id to the first pane. CRect rc2; GetWindowRect(rc2); ::MoveWindow(m_hWnd,g_rc.left,g_rc.top,g_rc.Width(),g_rc.Height(),TRUE); EnumChildWindows(m_hWnd,(WNDENUMPROC)EnumChildProc,0); m_static1.SetFont (&g_titlefont); m_spinyear.SetRange (1900, 3000); m_spinmonth.SetRange (1, 12); m_spinday.SetRange (1, 31); m_Chart.GetBackdrop().GetFill().SetStyle(1); m_Chart.GetBackdrop().GetFill().GetBrush().GetFillColor().Set(255, 255, 255); m_Chart.SetShowLegend(TRUE); m_Chart.SetColumn(1); m_Chart.SetColumnLabel((LPCTSTR)"总收入"); m_Chart.SetChartType(1); // 栈模式 m_Chart.SetStacking(FALSE); VARIANT var; m_Chart.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(1); // 不自动标注Y轴刻度 m_Chart.GetPlot().GetAxis(0,var).GetCategoryScale().SetAuto(0); // 不自动标注X轴刻度 m_Chart.GetPlot().GetAxis(0,var).GetCategoryScale().SetDivisionsPerLabel(1);// 每刻度一个标注 m_Chart.GetPlot().GetAxis(0,var).GetCategoryScale().SetDivisionsPerTick(1); // 每刻度一个刻度线 m_Chart.SetColumnCount(1); m_Chart.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(255, 0, 0); // 线宽(对点线图有效) m_Chart.GetPlot().GetSeriesCollection().GetItem(1).GetPen().SetWidth(30); // 数据点类型显示数据值的模式(对柱柱状图和点线图有效) // 0: 不显示 1: 显示在柱状图外 // 2: 显示在柱状图内上方 3: 显示在柱状图内中间 4: 显示在柱状图内下方 m_Chart.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); ////////////////////// m_Chart2.GetBackdrop().GetFill().SetStyle(1); m_Chart2.GetBackdrop().GetFill().GetBrush().GetFillColor().Set(255, 255, 255); m_Chart2.SetShowLegend(TRUE); m_Chart2.SetColumn(1); m_Chart2.SetColumnLabel((LPCTSTR)"总支出"); m_Chart2.SetChartType(1); // 栈模式 m_Chart2.SetStacking(FALSE); m_Chart2.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(1); // 不自动标注Y轴刻度 m_Chart2.GetPlot().GetAxis(0,var).GetCategoryScale().SetAuto(0); // 不自动标注X轴刻度 m_Chart2.GetPlot().GetAxis(0,var).GetCategoryScale().SetDivisionsPerLabel(1);// 每刻度一个标注 m_Chart2.GetPlot().GetAxis(0,var).GetCategoryScale().SetDivisionsPerTick(1); // 每刻度一个刻度线 m_Chart2.SetColumnCount(1); m_Chart2.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(255, 0, 0); // 线宽(对点线图有效) m_Chart2.GetPlot().GetSeriesCollection().GetItem(1).GetPen().SetWidth(30); // 数据点类型显示数据值的模式(对柱柱状图和点线图有效) // 0: 不显示 1: 显示在柱状图外 // 2: 显示在柱状图内上方 3: 显示在柱状图内中间 4: 显示在柱状图内下方 m_Chart2.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); //////////////// GetDlgItem(IDC_STATIC2)->GetWindowRect(rc2); ScreenToClient(rc2); m_Chart.MoveWindow (rc2); GetDlgItem(IDC_STATIC3)->GetWindowRect(rc2); ScreenToClient(rc2); m_Chart2.MoveWindow (rc2); m_combomonth.AddString ("1 月"); m_combomonth.AddString ("2 月"); m_combomonth.AddString ("3 月"); m_combomonth.AddString ("4 月"); m_combomonth.AddString ("5 月"); m_combomonth.AddString ("6 月"); m_combomonth.AddString ("7 月"); m_combomonth.AddString ("8 月"); m_combomonth.AddString ("9 月"); m_combomonth.AddString ("10 月"); m_combomonth.AddString ("11 月"); m_combomonth.AddString ("12 月"); m_combomonth.AddString ("全年"); m_combomonth.SetCurSel (12); m_combomonth.GetWindowRect(rc2); ScreenToClient(rc2);rc2.bottom +=200; m_combomonth.MoveWindow (rc2); m_bInit=1; DateChange(); } void YearFormBranch::FillGrid() { } void YearFormBranch::OnBUTclose() { // TODO: Add your control notification handler code here GetParent()->SendMessage(WM_CLOSE); } void YearFormBranch::OnChangeEDITyear() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the MyFormView::OnInitDialog() // function and call CRichEditCtrl().SetEventMask() // with the ENM_CHANGE flag ORed into the mask. DateChange(); // TODO: Add your control notification handler code here } void YearFormBranch::OnChangeEDITmonth() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the MyFormView::OnInitDialog() // function and call CRichEditCtrl().SetEventMask() // with the ENM_CHANGE flag ORed into the mask. // DateChange(); // TODO: Add your control notification handler code here } void YearFormBranch::OnChangeEDITday() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the MyFormView::OnInitDialog() // function and call CRichEditCtrl().SetEventMask() // with the ENM_CHANGE flag ORed into the mask. // DateChange(); // TODO: Add your control notification handler code here } void YearFormBranch::DateChange() { if(m_bInit==0)return; m_spinyear.EnableWindow(0); m_spinmonth.EnableWindow(0); m_spinday.EnableWindow(0); UpdateData(); for(int aa=0; aa<=g_menubranchname.GetSize (); aa++) { if(aa==0) g_bNoConnDlg=0; else g_bNoConnDlg=1; if(aa*List2array=&(m_List2array[aa]); CArray*List3array=&(m_List3array[aa]); CArray*List11array=&(m_List11array[aa]); int i; int g_nYearposTemp=g_nYearpos; BOOL bLastYear=0; BOOL bThisYear=0; #if JEFF_TEST_ON // 2015开始禁用跨年数据; int g_nYearposPre = -1; if (m_year >= 2014 && m_year <= atoi(g_date.Left(4)) && g_hisyeararray.GetSize()) { g_nYearpos = -1; bThisYear = 1; if (m_year == 2014) { g_nYearposPre = GetYearPos(m_year - 1); } } else if (m_year <= 2013 && g_hisyeararray.GetSize()) { g_nYearpos = GetYearPos(m_year); if (g_nYearpos != -1) g_nYearposPre = GetYearPos(m_year - 1); bLastYear = 1; } #else if(m_year==atoi(g_date.Left (4)) && g_hisyeararray.GetSize () ) bThisYear=1; else if(m_year<=atoi(g_date.Left (4))-1 && g_hisyeararray.GetSize ()) bLastYear=1; g_nYearpos=GetYearPos(m_year); int g_nYearposPre=GetYearPos(m_year-1); #endif g_sendhead.bsql=0; g_sendhead.code[0]=14; g_sendhead.code[1]=13; g_sendhead.code[2]=16; g_sendhead.tabcount=3; CString sql,strdate,strdate2; strdate.Format ("%04d-%02d-%02d", m_year, 1, 1); strdate2.Format ("%04d-%02d-%02d", m_year, 12, 31); m_static1.SetWindowText (strdate.Left (4)+"年财务表"); sql.Format ("dat>='"+strdate+"' and dat<='"+strdate2+"';dat>='"+strdate+"' and dat<='"+strdate2+"';date>='"+strdate+"' and date<='"+strdate2+"'"); g_pMainWnd->ProcessChatMessageRequest2(sql); if(g_bSendOK==0) { g_nYearpos=g_nYearposTemp; m_spinyear.EnableWindow(1); m_spinmonth.EnableWindow(1); m_spinday.EnableWindow(1); g_bNoConnDlg=0; g_branchname.Empty (); return; } DataToArray(List2array,List3array,List11array); if(bLastYear)//如果是去年, 则加今年的补款 { g_nYearpos=-1;//今年 g_sendhead.bsql=0; g_sendhead.code[0]=14; g_sendhead.code[1]=13; g_sendhead.code[2]=16; g_sendhead.tabcount=3; CString sql,strdate,strdate2; strdate.Format ("%04d-%02d-%02d", m_year, 1, 1); strdate2.Format ("%04d-%02d-%02d", m_year, 12, 31); sql.Format ("dat>='"+strdate+"' and dat<='"+strdate2+"';dat>='"+strdate+"' and dat<='"+strdate2+"';date>='"+strdate+"' and date<='"+strdate2+"'"); g_pMainWnd->ProcessChatMessageRequest2(sql); if(g_bSendOK==0) { g_nYearpos=g_nYearposTemp; m_spinyear.EnableWindow(1); m_spinmonth.EnableWindow(1); m_spinday.EnableWindow(1); g_bNoConnDlg=0; g_branchname.Empty (); return; } CArrayThisYearList11array; CArrayThisYearList3array; CArrayThisYearList2array; DataToArray(&ThisYearList2array, &ThisYearList3array, &ThisYearList11array); int oldsize=List11array->GetSize (); int newsize=ThisYearList11array.GetSize (); List11array->SetSize(oldsize+ThisYearList11array.GetSize ()); for(i=oldsize; iElementAt (i).Copy(ThisYearList11array.ElementAt (i-oldsize)); } oldsize=List3array->GetSize (); newsize=ThisYearList3array.GetSize (); List3array->SetSize(oldsize+ThisYearList3array.GetSize ()); for(i=oldsize; iElementAt (i).Copy(ThisYearList3array.ElementAt (i-oldsize)); } oldsize=List2array->GetSize (); newsize=ThisYearList2array.GetSize (); List2array->SetSize(oldsize+ThisYearList2array.GetSize ()); for(i=oldsize; iElementAt (i).Copy(ThisYearList2array.ElementAt (i-oldsize)); } } if(g_nYearposPre!=-1)//如果是今年, 则加去年的补款 { g_nYearpos=g_nYearposPre;//去年 g_sendhead.bsql=0; g_sendhead.code[0]=14; g_sendhead.code[1]=13; g_sendhead.code[2]=16; g_sendhead.tabcount=3; CString sql,strdate,strdate2; strdate.Format ("%04d-%02d-%02d", m_year, 1, 1); strdate2.Format ("%04d-%02d-%02d", m_year, 12, 31); sql.Format ("dat>='"+strdate+"' and dat<='"+strdate2+"';dat>='"+strdate+"' and dat<='"+strdate2+"';date>='"+strdate+"' and date<='"+strdate2+"'"); g_pMainWnd->ProcessChatMessageRequest2(sql); if(g_bSendOK==0) { g_nYearpos=g_nYearposTemp; m_spinyear.EnableWindow(1); m_spinmonth.EnableWindow(1); m_spinday.EnableWindow(1); g_bNoConnDlg=0; g_branchname.Empty (); return; } CArrayThisYearList11array; CArrayThisYearList3array; CArrayThisYearList2array; DataToArray(&ThisYearList2array, &ThisYearList3array, &ThisYearList11array); int oldsize=List11array->GetSize (); int newsize=ThisYearList11array.GetSize (); List11array->SetSize(oldsize+ThisYearList11array.GetSize ()); for(i=oldsize; iElementAt (i).Copy(ThisYearList11array.ElementAt (i-oldsize)); } oldsize=List3array->GetSize (); newsize=ThisYearList3array.GetSize (); List3array->SetSize(oldsize+ThisYearList3array.GetSize ()); for(i=oldsize; iElementAt (i).Copy(ThisYearList3array.ElementAt (i-oldsize)); } oldsize=List2array->GetSize (); newsize=ThisYearList2array.GetSize (); List2array->SetSize(oldsize+ThisYearList2array.GetSize ()); for(i=oldsize; iElementAt (i).Copy(ThisYearList2array.ElementAt (i-oldsize)); } } g_nYearpos=g_nYearposTemp; } g_bNoConnDlg=0; g_branchname.Empty (); KindChange(); m_spinyear.EnableWindow(1); m_spinmonth.EnableWindow(1); m_spinday.EnableWindow(1); } void YearFormBranch::KindChange() { UpdateData(); int month=m_combomonth.GetCurSel (); if(month==-1) month=13; else month++; int i=0; float incomedata1[30]={0}; float incomedata2[30]={0}; float incomedata3[30]={0}; float incomedata4[30]={0}; float incomedata5[30]={0}; float incomedata6[30]={0}; float payoutdata[30]={0}; int dindandata[30]={0}; CString stryear[30]={""}; int nRowCount=g_menubranchname.GetSize ()+1; int aa = 0; for( aa=0; aa<=g_menubranchname.GetSize (); aa++) { if(aa*List11array=&(m_List11array[aa]); for( i=0; iGetSize (); i++) { if(month!=13 && month!=atoi(List11array->ElementAt (i).ElementAt (7).Mid (5, 2))) continue; if(List11array->ElementAt (i).ElementAt (5)=="预约收款"||List11array->ElementAt (i).ElementAt (5)=="预约补款") incomedata1[aa]+=atof(List11array->ElementAt (i).ElementAt (4)); else if(List11array->ElementAt (i).ElementAt (5)=="摄影二销") incomedata2[aa]+=atof(List11array->ElementAt (i).ElementAt (4)); #ifndef CHILD_VERSION else if(List11array->ElementAt (i).ElementAt (5)=="化妆二销") #else else if(List11array->ElementAt (i).ElementAt (5)=="引导二销") //"引导二销" #endif incomedata3[aa]+=atof(List11array->ElementAt (i).ElementAt (4)); else if(List11array->ElementAt (i).ElementAt (5)=="套系升级二销") incomedata4[aa]+=atof(List11array->ElementAt (i).ElementAt (4)); else if(List11array->ElementAt (i).ElementAt (5)=="选片二销") incomedata5[aa]+=atof(List11array->ElementAt (i).ElementAt (4)); if(List11array->ElementAt (i).ElementAt (5)=="预约收款") dindandata[aa]++; } } for( aa=0; aa<=g_menubranchname.GetSize (); aa++) { CArray*List2array=&(m_List2array[aa]); for( i=0; iGetSize (); i++) { if(month!=13 && month!=atoi(List2array->ElementAt (i).ElementAt (7).Mid (5, 2))) continue; if(List2array->ElementAt (i).ElementAt (8)=="") incomedata6[aa]+=atof(List2array->ElementAt (i).ElementAt (2)); else if(List2array->ElementAt (i).ElementAt (8)=="摄影二销") incomedata2[aa]+=atof(List2array->ElementAt (i).ElementAt (2)); #ifndef CHILD_VERSION else if(List2array->ElementAt (i).ElementAt (8)=="化妆二销") #else else if(List2array->ElementAt (i).ElementAt (8)=="引导二销") //"引导二销" #endif incomedata3[aa]+=atof(List2array->ElementAt (i).ElementAt (2)); else if(List2array->ElementAt (i).ElementAt (8)=="套系升级二销") incomedata4[aa]+=atof(List2array->ElementAt (i).ElementAt (2)); else if(List2array->ElementAt (i).ElementAt (8)=="选片二销") incomedata5[aa]+=atof(List2array->ElementAt (i).ElementAt (2)); } } for( aa=0; aa<=g_menubranchname.GetSize (); aa++) { CArray*List3array=&(m_List3array[aa]); for( i=0; iGetSize (); i++) { if(month!=13 && month!=atoi(List3array->ElementAt (i).ElementAt (3).Mid (5, 2))) continue; payoutdata[aa]+=atof(List3array->ElementAt (i).ElementAt (2)); } } m_Chart.SetRowCount(nRowCount); m_Chart2.SetRowCount(nRowCount); float ftemp; if(m_radio2==0)//叠加 { for(int row = 1; row <= nRowCount; ++row) { m_Chart.SetRow(row); m_Chart.SetRowLabel(stryear[row-1]); if(m_check1) m_Chart.GetDataGrid().SetData(row, 1, incomedata1[row-1]+incomedata2[row-1]+incomedata3[row-1]+incomedata4[row-1]+incomedata5[row-1]+incomedata6[row-1], 0); else { ftemp=0; if(m_check2) ftemp+=incomedata1[row-1]; if(m_check3) ftemp+=incomedata2[row-1]; if(m_check4) ftemp+=incomedata3[row-1]; if(m_check5) ftemp+=incomedata4[row-1]; if(m_check6) ftemp+=incomedata5[row-1]; if(m_check7) ftemp+=incomedata6[row-1]; m_Chart.GetDataGrid().SetData(row, 1, ftemp, 0); } } } else { for(int row = 1; row <= nRowCount; ++row) { m_Chart.SetRow(row); m_Chart.SetRowLabel(stryear[row-1]); m_Chart.GetDataGrid().SetData(row, 1, incomedata1[row-1], 0); m_Chart.GetDataGrid().SetData(row, 2, incomedata2[row-1], 0); m_Chart.GetDataGrid().SetData(row, 3, incomedata3[row-1], 0); m_Chart.GetDataGrid().SetData(row, 4, incomedata4[row-1], 0); m_Chart.GetDataGrid().SetData(row, 5, incomedata5[row-1], 0); m_Chart.GetDataGrid().SetData(row, 6, incomedata6[row-1], 0); } } for(int row = 1; row <= nRowCount; ++row) { m_Chart2.SetRow(row); m_Chart2.SetRowLabel(stryear[row-1]); m_Chart2.GetDataGrid().SetData(row, 1, payoutdata[row-1], 0); } m_Chart.Refresh(); m_Chart2.Refresh(); } void YearFormBranch::OnRadio3() { // TODO: Add your control notification handler code here UpdateData(); if(m_radio1==0) { m_Chart.SetChartType(3); m_Chart2.SetChartType(3); } else if(m_radio1==1) { m_Chart.SetChartType(1); m_Chart2.SetChartType(1); } else if(m_radio1==2) { m_Chart.SetChartType(14); m_Chart2.SetChartType(14); } } void YearFormBranch::OnRadio4() { // TODO: Add your control notification handler code here OnRadio3(); } void YearFormBranch::OnRadio5() { // TODO: Add your control notification handler code here OnRadio3(); } void YearFormBranch::OnCheck1() { // TODO: Add your control notification handler code here UpdateData(); m_check2=m_check3=m_check4=m_check5=m_check6=m_check7=m_check1; UpdateData(false); KindChange(); } void YearFormBranch::OnCheck2() { // TODO: Add your control notification handler code here UpdateData(); if(m_check2==0) { m_check1=m_check2; UpdateData(false); } KindChange(); } void YearFormBranch::OnCheck3() { // TODO: Add your control notification handler code here UpdateData(); if(m_check3==0) { m_check1=m_check3; UpdateData(false); } KindChange(); } void YearFormBranch::OnCheck4() { // TODO: Add your control notification handler code here UpdateData(); if(m_check4==0) { m_check1=m_check4; UpdateData(false); } KindChange(); } void YearFormBranch::OnCheck5() { // TODO: Add your control notification handler code here UpdateData(); if(m_check5==0) { m_check1=m_check5; UpdateData(false); } KindChange(); } void YearFormBranch::OnCheck6() { // TODO: Add your control notification handler code here UpdateData(); if(m_check6==0) { m_check1=m_check6; UpdateData(false); } KindChange(); } void YearFormBranch::OnCheck7() { // TODO: Add your control notification handler code here UpdateData(); if(m_check7==0) { m_check1=m_check7; UpdateData(false); } KindChange(); } void YearFormBranch::OnRadio6() //叠加 { // TODO: Add your control notification handler code here UpdateData(); if(m_radio2==0) { m_Chart.SetColumnCount(1); m_Chart.SetColumn(1); m_Chart.SetColumnLabel((LPCTSTR)"总收入"); m_Chart.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(255, 0, 0); // 线宽(对点线图有效) m_Chart.GetPlot().GetSeriesCollection().GetItem(1).GetPen().SetWidth(30); // 数据点类型显示数据值的模式(对柱柱状图和点线图有效) // 0: 不显示 1: 显示在柱状图外 // 2: 显示在柱状图内上方 3: 显示在柱状图内中间 4: 显示在柱状图内下方 m_Chart.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); } else { m_Chart.SetColumnCount(6); m_Chart.SetColumn(1); m_Chart.SetColumnLabel((LPCTSTR)"前期"); m_Chart.SetColumn(2); m_Chart.SetColumnLabel((LPCTSTR)"摄影二销"); m_Chart.SetColumn(3); #ifndef CHILD_VERSION m_Chart.SetColumnLabel((LPCTSTR)"化妆二销"); #else m_Chart.SetColumnLabel((LPCTSTR)"引导二销"); //"引导二销" #endif m_Chart.SetColumn(4); m_Chart.SetColumnLabel((LPCTSTR)"套系升级"); m_Chart.SetColumn(5); m_Chart.SetColumnLabel((LPCTSTR)"选片二销"); m_Chart.SetColumn(6); m_Chart.SetColumnLabel((LPCTSTR)"其他收入"); m_Chart.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(255, 0, 0); m_Chart.GetPlot().GetSeriesCollection().GetItem(2).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(0, 255, 0); m_Chart.GetPlot().GetSeriesCollection().GetItem(3).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(0, 0, 255); m_Chart.GetPlot().GetSeriesCollection().GetItem(4).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(0, 255, 255); m_Chart.GetPlot().GetSeriesCollection().GetItem(5).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(255, 255, 0); m_Chart.GetPlot().GetSeriesCollection().GetItem(6).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(255, 0, 255); // 线宽(对点线图有效) m_Chart.GetPlot().GetSeriesCollection().GetItem(1).GetPen().SetWidth(30); m_Chart.GetPlot().GetSeriesCollection().GetItem(2).GetPen().SetWidth(30); m_Chart.GetPlot().GetSeriesCollection().GetItem(3).GetPen().SetWidth(30); m_Chart.GetPlot().GetSeriesCollection().GetItem(4).GetPen().SetWidth(30); m_Chart.GetPlot().GetSeriesCollection().GetItem(5).GetPen().SetWidth(30); m_Chart.GetPlot().GetSeriesCollection().GetItem(6).GetPen().SetWidth(30); // 数据点类型显示数据值的模式(对柱柱状图和点线图有效) // 0: 不显示 1: 显示在柱状图外 // 2: 显示在柱状图内上方 3: 显示在柱状图内中间 4: 显示在柱状图内下方 m_Chart.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); m_Chart.GetPlot().GetSeriesCollection().GetItem(2).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); m_Chart.GetPlot().GetSeriesCollection().GetItem(3).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); m_Chart.GetPlot().GetSeriesCollection().GetItem(4).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); m_Chart.GetPlot().GetSeriesCollection().GetItem(5).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); m_Chart.GetPlot().GetSeriesCollection().GetItem(6).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); } GetDlgItem(IDC_CHECK1)->EnableWindow(m_radio2==0); GetDlgItem(IDC_CHECK2)->EnableWindow(m_radio2==0); GetDlgItem(IDC_CHECK3)->EnableWindow(m_radio2==0); GetDlgItem(IDC_CHECK4)->EnableWindow(m_radio2==0); GetDlgItem(IDC_CHECK5)->EnableWindow(m_radio2==0); GetDlgItem(IDC_CHECK6)->EnableWindow(m_radio2==0); GetDlgItem(IDC_CHECK7)->EnableWindow(m_radio2==0); KindChange(); } void YearFormBranch::OnRadio7() //对比 { // TODO: Add your control notification handler code here OnRadio6(); } //getyearpos void YearFormBranch::OnSelchangeCombo1() { // TODO: Add your control notification handler code here KindChange(); }