生成随机数的列表和折线图
- 需要添加的代码都在CXXXDlg::OnBnClickedButton1()函数里。m_list是给列表添加的变量,上篇文章里是m_ctllist。
int index;
index=((CComboBox*)GetDlgItem(IDC_COM_One))->GetCurSel();
m_list.DeleteAllItems();
GetDlgItem(IDC_PICTURE1)->ShowWindow(FALSE);
GetDlgItem(IDC_PICTURE1)->ShowWindow(TRUE);
int **data;
data=new int *[index];
for(int i=0; i<index; i++)
{
data[i]=new int[index];
}
for(int i=0; i<index; i++)
{
for(int j=0; j<index; j++)
{
data[i][j]=1;
}
}
for (int m = 0; m < index; m++)
{
//也是给每一行编号的,和下面三行作用一样
CString strItem = _T("");
strItem.Format("Item %d", m);
m_list.InsertItem(m, strItem);
int n=1;
CString strText = _T("");
strText.Format(_T(" %d "), m);
m_list.SetItemText(m, n, strText);
// 设置列表中项的文本和数据
for (n = 2; n < 4; n++)
{
int num = rand()%10-rand()%10;
data[m][n]=num; // 数组中保存随机数
CString strText = _T("");
strText.Format(_T(" %d "), num); //类型转化
m_list.SetItemText(m, n, strText);
m_list.SetItemData(m, m);
}
}
CDC *pDC;
pDC = m_picShow.GetDC();
CPen Pen2(PS_SOLID,1,RGB(34,188,0));
CPen Pen3(PS_SOLID,2,RGB(137,34,0));
CPen Pen4(PS_SOLID,2,RGB(5,0,2));
CPen Pen5(PS_SOLID,2,RGB(0,24,23));
CPen Pen6(PS_SOLID,2,RGB(47,46,0));
CPen *oldPenx = pDC->SelectObject(&Pen2);
for(int n=2;n < 4;n++)
{
int j;
int x=30;
if(n==2)
oldPenx = pDC->SelectObject(&Pen2);
else if(n==3)
oldPenx = pDC->SelectObject(&Pen3);
else if(n==4)
oldPenx = pDC->SelectObject(&Pen4);
else if(n==5)
oldPenx = pDC->SelectObject(&Pen5);
else if(n==6)
oldPenx = pDC->SelectObject(&Pen5);
pDC->MoveTo(30,110-12*data[0][n]);
for(j = 1;j < index; j++)
{
x+=15;
pDC->LineTo(x,110-12*data[j][n]);
//x+=30;
//pDC->SelectObject(oldPenx);
}
}
for(int i=0; i<index; i++)
{
delete[] data[i];
}
delete[] data;