// DinDanForm.cpp : implementation file // #include "stdafx.h" #include "ylgl.h" #include "DinDanForm.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" #include "ShowMschart.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // DinDanForm IDC_RADIO25 IMPLEMENT_DYNCREATE(DinDanForm, MyFormView) DinDanForm::DinDanForm() : MyFormView(DinDanForm::IDD) { //{{AFX_DATA_INIT(DinDanForm) 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_radio1 = 0; m_radio2 =1; m_bInit=0; m_taoxipos=0; m_check1 = FALSE; m_pchild=NULL; //}}AFX_DATA_INIT } DinDanForm::~DinDanForm() { if(m_pchild) { m_pchild->DestroyWindow (); delete m_pchild; m_pchild=NULL; } } void DinDanForm::DoDataExchange(CDataExchange* pDX) { MyFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(DinDanForm) DDX_Control(pDX, IDC_COMBO1, m_combo1); 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_Radio(pDX, IDC_RADIO3, m_radio1); DDX_Control(pDX, IDC_MSCHART3, m_Chart3); DDX_Radio(pDX, IDC_RADIO6, m_radio2); DDX_Check(pDX, IDC_CHECK1, m_check1); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(DinDanForm, MyFormView) //{{AFX_MSG_MAP(DinDanForm) 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_RADIO6, OnRadio6) ON_BN_CLICKED(IDC_RADIO7, OnRadio7) ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1) ON_BN_CLICKED(IDC_RADIO8, OnRadio8) ON_BN_CLICKED(IDC_RADIO10, OnRadio10) ON_BN_CLICKED(IDC_RADIO11, OnRadio11) ON_BN_CLICKED(IDC_RADIO12, OnRadio12) ON_BN_CLICKED(IDC_RADIO13, OnRadio13) ON_BN_CLICKED(IDC_RADIO24, OnRadio24) ON_BN_CLICKED(IDC_RADIO25, OnRadio25) ON_BN_CLICKED(IDC_CHECK1, OnCheck1) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // DinDanForm diagnostics #ifdef _DEBUG void DinDanForm::AssertValid() const { MyFormView::AssertValid(); } void DinDanForm::Dump(CDumpContext& dc) const { MyFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // DinDanForm message handlers void DinDanForm::OnInitialUpdate() { MyFormView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class if(!m_pchild) { m_pchild=new DinDanForm2; m_pchild->m_parent=(DWORD)this; m_pchild->m_pfilterarray=&m_filterarray; m_pchild->m_pfilterarray2=&m_filterarray2; m_pchild->Create (IDD_DLGDinDanForm2, g_pMainWnd); } CRect rc; rc=g_rc; rc.left=0; rc.right =g_rc.left; m_pchild->MoveWindow (rc); m_pchild->Init (); m_pchild->ModeChange(m_radio1); // m_pchild->ShowWindow (SW_SHOW); #ifndef LKAY_VERSION GetDlgItem(IDC_RADIO11)->ShowWindow (0); #endif 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); VARIANT var; /////////////////////////// m_Chart3.GetBackdrop().GetFill().SetStyle(1); m_Chart3.GetBackdrop().GetFill().GetBrush().GetFillColor().Set(255, 255, 255); m_Chart3.SetShowLegend(TRUE); m_Chart3.SetChartType(1); // 栈模式 m_Chart3.SetStacking(FALSE); m_Chart3.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(1); // 不自动标注Y轴刻度 m_Chart3.GetPlot().GetAxis(0,var).GetCategoryScale().SetAuto(0); // 不自动标注X轴刻度 m_Chart3.GetPlot().GetAxis(0,var).GetCategoryScale().SetDivisionsPerLabel(1);// 每刻度一个标注 m_Chart3.GetPlot().GetAxis(0,var).GetCategoryScale().SetDivisionsPerTick(1); // 每刻度一个刻度线 m_Chart3.SetColumnCount(6); m_Chart3.SetColumn(1); m_Chart3.SetColumnLabel((LPCTSTR)"全部"); m_Chart3.SetColumn(2); m_Chart3.SetColumnLabel((LPCTSTR)"婚纱照"); m_Chart3.SetColumn(3); m_Chart3.SetColumnLabel((LPCTSTR)"写真照"); m_Chart3.SetColumn(4); m_Chart3.SetColumnLabel((LPCTSTR)"宝宝照"); m_Chart3.SetColumn(5); m_Chart3.SetColumnLabel((LPCTSTR)"全家福"); m_Chart3.SetColumn(6); m_Chart3.SetColumnLabel((LPCTSTR)"情侣照"); m_Chart3.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(255, 0, 0); m_Chart3.GetPlot().GetSeriesCollection().GetItem(2).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(0, 255, 0); m_Chart3.GetPlot().GetSeriesCollection().GetItem(3).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(0, 0, 255); m_Chart3.GetPlot().GetSeriesCollection().GetItem(4).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(0, 255, 255); m_Chart3.GetPlot().GetSeriesCollection().GetItem(5).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(255, 255, 0); m_Chart3.GetPlot().GetSeriesCollection().GetItem(6).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(255, 0, 255); // 线宽(对点线图有效) m_Chart3.GetPlot().GetSeriesCollection().GetItem(1).GetPen().SetWidth(30); m_Chart3.GetPlot().GetSeriesCollection().GetItem(2).GetPen().SetWidth(30); m_Chart3.GetPlot().GetSeriesCollection().GetItem(3).GetPen().SetWidth(30); m_Chart3.GetPlot().GetSeriesCollection().GetItem(4).GetPen().SetWidth(30); m_Chart3.GetPlot().GetSeriesCollection().GetItem(5).GetPen().SetWidth(30); m_Chart3.GetPlot().GetSeriesCollection().GetItem(6).GetPen().SetWidth(30); // 数据点类型显示数据值的模式(对柱柱状图和点线图有效) // 0: 不显示 1: 显示在柱状图外 // 2: 显示在柱状图内上方 3: 显示在柱状图内中间 4: 显示在柱状图内下方 m_Chart3.GetPlot().GetSeriesCollection().GetItem(1).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); m_Chart3.GetPlot().GetSeriesCollection().GetItem(2).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); m_Chart3.GetPlot().GetSeriesCollection().GetItem(3).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); m_Chart3.GetPlot().GetSeriesCollection().GetItem(4).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); m_Chart3.GetPlot().GetSeriesCollection().GetItem(5).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); m_Chart3.GetPlot().GetSeriesCollection().GetItem(6).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); //////////////// GetDlgItem(IDC_STATIC2)->GetWindowRect(rc2); ScreenToClient(rc2); m_Chart3.MoveWindow (rc2); m_combo1.GetWindowRect (rc2); ScreenToClient(rc2); rc2.bottom +=300; m_combo1.MoveWindow (rc2); m_bInit=1; DateChange(); } void DinDanForm::FillGrid() { } void DinDanForm::OnBUTclose() { // TODO: Add your control notification handler code here GetParent()->SendMessage(WM_CLOSE); } void DinDanForm::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 DinDanForm::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 DinDanForm::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 DinDanForm::OnRadio3() { // TODO: Add your control notification handler code here m_filterarray.RemoveAll(); KindChange(); // UpdateData(); GetDlgItem(IDC_RADIO6)->ShowWindow(m_radio1==0 || m_radio1==7 || m_radio1==8); GetDlgItem(IDC_RADIO7)->ShowWindow(m_radio1==0 || m_radio1==7 || m_radio1==8); GetDlgItem(IDC_CHECK1)->ShowWindow(m_radio1==7 || m_radio1==1); GetDlgItem(IDC_RADIO12)->ShowWindow(m_radio1==4 || m_radio1==5 || m_radio1==6); GetDlgItem(IDC_RADIO13)->ShowWindow(m_radio1==4 || m_radio1==5 || m_radio1==6); if(m_radio1==4 || m_radio1==5 || m_radio1==6) GetDlgItem(IDC_COMBO1)->ShowWindow(0); else GetDlgItem(IDC_COMBO1)->ShowWindow(1); m_pchild->ModeChange(m_radio1); } void DinDanForm::OnRadio4() { // TODO: Add your control notification handler code here OnRadio3(); } void DinDanForm::DateChange() { if(m_bInit==0)return; m_spinyear.EnableWindow(0); m_spinmonth.EnableWindow(0); m_spinday.EnableWindow(0); UpdateData(); int i; int g_nYearposTemp=g_nYearpos; BOOL bLastYear=0; BOOL bThisYear=0; 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); g_sendhead.bsql=0; g_sendhead.code[0]=172; g_sendhead.code[1]=59; g_sendhead.tabcount=2; CString sql,strdate,strdate2; strdate.Format ("%04d-%02d-%02d", m_year, 1, 1); strdate2.Format ("%04d-%02d-%02d", m_year, 12, 31); CRect rc; m_static1.GetWindowRect (rc); ScreenToClient(rc); InvalidateRect(rc); m_static1.SetWindowText (strdate.Left (4)+"订单图表"); sql.Format ("time1>='"+strdate+"' and time1<='"+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); return; } DataToArray(&m_dindanarray,&m_moneyarray); if(bLastYear)//如果是去年, 则加今年的补款 { g_nYearpos=-1;//今年 g_sendhead.bsql=0; g_sendhead.code[0]=172; g_sendhead.code[1]=59; g_sendhead.tabcount=2; CString sql,strdate,strdate2; strdate.Format ("%04d-%02d-%02d", m_year, 1, 1); strdate2.Format ("%04d-%02d-%02d", m_year, 12, 31); sql.Format ("time1>='"+strdate+"' and time1<='"+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); return; } CArrayThisYearm_dindanarray; CArrayThisYearm_moneyarray; DataToArray(&ThisYearm_dindanarray,&ThisYearm_moneyarray); int oldsize=m_dindanarray.GetSize (); int newsize=ThisYearm_dindanarray.GetSize (); m_dindanarray.SetSize(oldsize+ThisYearm_dindanarray.GetSize ()); for(i=oldsize; i='"+strdate+"' and time1<='"+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); return; } CArrayThisYearm_dindanarray; CArrayThisYearm_moneyarray; DataToArray(&ThisYearm_dindanarray,&ThisYearm_moneyarray); int oldsize=m_dindanarray.GetSize (); int newsize=ThisYearm_dindanarray.GetSize (); m_dindanarray.SetSize(oldsize+ThisYearm_dindanarray.GetSize ()); for(i=oldsize; iTypeChange(&m_typearray); return; } m_Chart3.SetColumnCount(m_filterarray.GetSize ()); VARIANT var; m_Chart3.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(1); COLORREF col[10]={\ RGB(0,0,255),\ RGB(0,255,255),\ RGB(255,0,255),\ RGB(0,255,0),\ RGB(255,0,0),\ RGB(255,255,0),\ RGB(127,0,0),\ RGB(0,127,0),\ RGB(0,0,127),\ RGB(127,127,0) }; for( i=0; im_taoxipos) { for( i=0; i0) { dindandata[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]+=atof(m_dindanarray.ElementAt (i).ElementAt (8)); count[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]++; } } } else if(selpos>m_taoxipos) { for( i=0; i0) { dindandata[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]+=atof(m_dindanarray.ElementAt (i).ElementAt (8)); count[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]++; } } } else { for( i=0; i0) { dindandata[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]+=atof(m_dindanarray.ElementAt (i).ElementAt (8)); count[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]++; } } } /* for(int i=0; i0) { dindandata[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]+=atof(m_dindanarray.ElementAt (i).ElementAt (8)); count[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]++; } }*/ for(i=0; i<12; i++) { if(count[i]) { str.Format ("%0.1f", dindandata[i]/count[i]); dindandata[i]=atof(str); } } int nRowCount=12;// VARIANT var; m_Chart3.SetRowCount(nRowCount); float ftemp; for(int row = 1; row <= nRowCount; ++row) { m_Chart3.SetRow(row); m_Chart3.SetRowLabel(stryear[row-1]); m_Chart3.GetDataGrid().SetData(row, 1, dindandata[row-1] , 0); } m_Chart3.Refresh(); } void DinDanForm::KindChange4() { m_Chart3.SetColumnCount(2); COLORREF col[10]={\ RGB(255,0,0),\ RGB(0,255,0),\ RGB(255,0,255),\ RGB(0,255,0),\ RGB(255,0,0),\ RGB(255,255,0),\ RGB(127,0,0),\ RGB(0,127,0),\ RGB(0,0,127),\ RGB(127,127,0) }; CStringArray m_typearray; m_typearray.Add ("选片率=选片/拍摄"); m_typearray.Add ("平均加选(张)"); for(int i=0; i<2; i++) { m_Chart3.SetColumn(i+1); m_Chart3.SetColumnLabel((LPCTSTR)m_typearray.ElementAt (i)); m_Chart3.GetPlot().GetSeriesCollection().GetItem(i+1).GetDataPoints ().GetItem(-1).GetBrush ().GetFillColor ().Set(GetRValue(col[i]), GetGValue(col[i]), GetBValue(col[i])); m_Chart3.GetPlot().GetSeriesCollection().GetItem(i+1).GetPen().SetWidth(30); m_Chart3.GetPlot().GetSeriesCollection().GetItem(i+1).GetDataPoints().GetItem(-1).GetDataPointLabel().SetLocationType(1); } VARIANT var; m_Chart3.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(0); m_Chart3.GetPlot().GetAxis(1,var).GetValueScale().SetMaximum(100); m_Chart3.GetPlot().GetAxis(1,var).GetValueScale().SetMinimum(0); float dindandata[12]={0}; float dindandata2[12]={0}; float choosezs[12]={0}; int count[12]={0}; CString stryear[12]={"1月",\ "2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"}; CString str; CString type; int selpos=m_combo1.GetCurSel (); if(selpos!=-1) m_combo1.GetLBText (selpos, type); if(selpos==-1 || type.IsEmpty () || type=="---全部---" || type=="---按套系类别---" || type=="---按套系名称---") { for( i=0; i(atof(m_dindanarray.ElementAt (i).ElementAt (9))+atof(m_dindanarray.ElementAt (i).ElementAt (11)))) { choosezs[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]+=atof(m_dindanarray.ElementAt (i).ElementAt (11)); str.Format ("%f", 100.0*(atof(m_dindanarray.ElementAt (i).ElementAt (9))+atof(m_dindanarray.ElementAt (i).ElementAt (11)))/atof(m_dindanarray.ElementAt (i).ElementAt (10)) ); dindandata[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]+=atof(str); count[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]++; } } } } else if(selpos>m_taoxipos) { for( i=0; i(atof(m_dindanarray.ElementAt (i).ElementAt (9))+atof(m_dindanarray.ElementAt (i).ElementAt (11)))) { choosezs[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]+=atof(m_dindanarray.ElementAt (i).ElementAt (11)); str.Format ("%f", 100.0*(atof(m_dindanarray.ElementAt (i).ElementAt (9))+atof(m_dindanarray.ElementAt (i).ElementAt (11)))/atof(m_dindanarray.ElementAt (i).ElementAt (10)) ); dindandata[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]+=atof(str); count[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]++; } } } } else { for( i=0; i(atof(m_dindanarray.ElementAt (i).ElementAt (9))+atof(m_dindanarray.ElementAt (i).ElementAt (11)))) { choosezs[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]+=atof(m_dindanarray.ElementAt (i).ElementAt (11)); str.Format ("%f", 100.0*(atof(m_dindanarray.ElementAt (i).ElementAt (9))+atof(m_dindanarray.ElementAt (i).ElementAt (11)))/atof(m_dindanarray.ElementAt (i).ElementAt (10)) ); dindandata[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]+=atof(str); count[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]++; } } } } /* for( i=0; i(atof(m_dindanarray.ElementAt (i).ElementAt (9))+atof(m_dindanarray.ElementAt (i).ElementAt (11)))) { choosezs[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]+=atof(m_dindanarray.ElementAt (i).ElementAt (11)); str.Format ("%f", 100.0*(atof(m_dindanarray.ElementAt (i).ElementAt (9))+atof(m_dindanarray.ElementAt (i).ElementAt (11)))/atof(m_dindanarray.ElementAt (i).ElementAt (10)) ); dindandata[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]+=atof(str); count[atoi(m_dindanarray.ElementAt (i).ElementAt (1).Mid (5, 2))-1]++; } } }*/ for(i=0; i<12; i++) { if(count[i]) { str.Format ("%0.1f", dindandata[i]/count[i]); dindandata[i]=atof(str); str.Format ("%0.1f", choosezs[i]/count[i]); dindandata2[i]=atof(str); } } int nRowCount=12;// VARIANT var; m_Chart3.SetRowCount(nRowCount); float ftemp; for(int row = 1; row <= nRowCount; ++row) { m_Chart3.SetRow(row); m_Chart3.SetRowLabel(stryear[row-1]); m_Chart3.GetDataGrid().SetData(row, 1, dindandata[row-1] , 0); m_Chart3.GetDataGrid().SetData(row, 2, dindandata2[row-1] , 0); } m_Chart3.Refresh(); } extern void SortArray(BOOL bAscending, CStringArray &datearray, CArray&valuearray); void DinDanForm::KindChange() { UpdateData(); if(m_radio1==1) { KindChange2(); return; } else if(m_radio1==2) { KindChange3(); return; } else if(m_radio1==3) { KindChange4(); return; } else if(m_radio1==4) { KindChange5(); return; } else if(m_radio1==5) { KindChange6(); return; } else if(m_radio1==6) { KindChange7(); return; } else if(m_radio1==7) {//MessageBox("fd"); KindChange8(); return; } else if(m_radio1==8) { //MessageBox("fd2"); KindChange9(); return; } int i; if(m_filterarray.GetSize ()==0) { CStringArray m_typearray; CArraysortarray; for(int i=0; iTypeChange(&m_typearray); return; } if(m_filterarray.GetSize ()==0)return; while(m_filterarray.GetSize ()>10) m_filterarray.RemoveAt (m_filterarray.GetSize ()-1); int typecount=m_filterarray.GetSize (); if(m_radio2) m_Chart3.SetColumnCount(typecount); else m_Chart3.SetColumnCount(1); VARIANT var; m_Chart3.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(1); COLORREF col[10]={\ RGB(255,0,0),\ RGB(0,255,0),\ RGB(0,0,255),\ RGB(255,255,0),\ RGB(0,255,255),\ RGB(255,0,255),\ RGB(127,0,0),\ RGB(0,127,0),\ RGB(0,0,127),\ RGB(127,127,0) }; if(m_radio2) { for( i=0; im_taoxipos) { for( i=0; i10) m_typearray.RemoveAt (m_typearray.GetSize ()-1); int typecount=m_typearray.GetSize (); m_Chart3.SetColumnCount(typecount); VARIANT var; m_Chart3.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(1); COLORREF col[10]={\ RGB(255,0,0),\ RGB(0,255,0),\ RGB(0,0,255),\ RGB(255,255,0),\ RGB(0,255,255),\ RGB(255,0,255),\ RGB(127,0,0),\ RGB(0,127,0),\ RGB(0,0,127),\ RGB(127,127,0) }; for( i=0; i10) m_typearray.RemoveAt (m_typearray.GetSize ()-1); int typecount=m_typearray.GetSize (); m_Chart3.SetColumnCount(typecount); VARIANT var; m_Chart3.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(1); COLORREF col[10]={\ RGB(255,0,0),\ RGB(0,255,0),\ RGB(0,0,255),\ RGB(255,255,0),\ RGB(0,255,255),\ RGB(255,0,255),\ RGB(127,0,0),\ RGB(0,127,0),\ RGB(0,0,127),\ RGB(127,127,0) }; for( i=0; im_List2.GetCount()==0) { CStringArray m_typearray; CArraysortarray; for(int i=0; iTypeChange2(&m_typearray); } if(m_filterarray.GetSize ()==0) { CStringArray m_typearray; CArraysortarray;CArraysortarray2; for(int i=0; iTypeChange(&m_typearray); return; } if(m_filterarray.GetSize ()==0)return; while(m_filterarray.GetSize ()>10) m_filterarray.RemoveAt (m_filterarray.GetSize ()-1); int typecount=m_filterarray.GetSize (); if(m_radio2) m_Chart3.SetColumnCount(typecount); else m_Chart3.SetColumnCount(1); VARIANT var; m_Chart3.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(1); COLORREF col[10]={\ RGB(255,0,0),\ RGB(0,255,0),\ RGB(0,0,255),\ RGB(255,255,0),\ RGB(0,255,255),\ RGB(255,0,255),\ RGB(127,0,0),\ RGB(0,127,0),\ RGB(0,0,127),\ RGB(127,127,0) }; if(m_radio2) { for( i=0; im_taoxipos) { for( i=0; isortarray; for(int i=0; iTypeChange(&m_typearray); return; } if(m_filterarray.GetSize ()==0)return; while(m_filterarray.GetSize ()>10) m_filterarray.RemoveAt (m_filterarray.GetSize ()-1); int typecount=m_filterarray.GetSize (); if(m_radio2) m_Chart3.SetColumnCount(typecount); else m_Chart3.SetColumnCount(1); VARIANT var; m_Chart3.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(1); COLORREF col[10]={\ RGB(255,0,0),\ RGB(0,255,0),\ RGB(0,0,255),\ RGB(255,255,0),\ RGB(0,255,255),\ RGB(255,0,255),\ RGB(127,0,0),\ RGB(0,127,0),\ RGB(0,0,127),\ RGB(127,127,0) }; if(m_radio2) { for( i=0; im_taoxipos) { for( i=0; isortarray; for(int i=0; iTypeChange(&m_typearray); return; } if(m_filterarray.GetSize ()==0)return; while(m_filterarray.GetSize ()>10) m_filterarray.RemoveAt (m_filterarray.GetSize ()-1); int typecount=m_filterarray.GetSize (); if(m_radio2) m_Chart3.SetColumnCount(typecount); else m_Chart3.SetColumnCount(1); VARIANT var; m_Chart3.GetPlot().GetAxis(1,var).GetValueScale().SetAuto(1); COLORREF col[10]={\ RGB(255,0,0),\ RGB(0,255,0),\ RGB(0,0,255),\ RGB(255,255,0),\ RGB(0,255,255),\ RGB(255,0,255),\ RGB(127,0,0),\ RGB(0,127,0),\ RGB(0,0,127),\ RGB(127,127,0) }; if(m_radio2) { for( i=0; im_taoxipos) { for( i=0; i