列表视图控件List Control显示有关问题
列表视图控件List Control显示问题
现在要写一个列表视图控件,要求里面动态显示内容
第一列显示数字,第二列显示公式运算结果 行数由我的静态文本输入获得,从1一直到我输入的值
大概就是这样,比方说我输入6
n n*n
1 1
2 4
3 9
4 16
5 25
6 36
就是这样,但是现在用了for循环,for(i=1;i<=n;i++) m_list.InsertItem(i-1,i);
显示“int CListCtrl::InsertItem(int,LPCTSTR)”: 不能将参数 2 从“float”转换为“LPCTSTR”
那我该怎么处理?
还有就是如果我想把一摸一样的内容做成横排的
n 1 2 3 4 5
n*n 1 4 9 16 25
不重载这个控件有什么别的方法吗
------解决方案--------------------
不需要神马重载

mfc对话框 CListCtrl控件 关联变量 设置report风格
OnInitDialog中
m_list1.SetExtendedStyle(m_list1.GetExtendedStyle()
------解决方案--------------------
LVS_EX_GRIDLINES);
m_list1.InsertColumn(0, _T("n"));
m_list1.SetColumnWidth(0, 40);
m_list1.InsertColumn(1, _T("n*n"));
m_list1.SetColumnWidth(1, 40);
m_list2.SetExtendedStyle(m_list2.GetExtendedStyle()
------解决方案--------------------
LVS_EX_GRIDLINES);
m_list2.InsertColumn(0, _T(" "));
m_list2.SetColumnWidth(0, 40);
m_list2.InsertItem(0, _T("n"));
m_list2.InsertItem(1, _T("n*n"));
两个按钮
void CMfcdlg2014Dlg::OnButton1()
{
// TODO: Add your control notification handler code here
int n;
n = GetDlgItemInt(IDC_EDIT1);
if(n>0)
{
m_list1.DeleteAllItems();
int i;
CString s1,s2;
for(i=1;i<=n;i++)
{
s1.Format(_T("%d"), i);
s2.Format(_T("%d"), i*i);
m_list1.InsertItem(i-1, s1);
m_list1.SetItemText(i-1, 1, s2);
}
}
}
void CMfcdlg2014Dlg::OnButton2()
{
// TODO: Add your control notification handler code here
int n;
n = GetDlgItemInt(IDC_EDIT2);
if(n>0 && n<=100)
{
int i;
for(i=n;i>=1;i--)
{
m_list2.DeleteColumn(i);
}
CString s1, s2;
for(i=1;i<=n;i++)
{
m_list2.InsertColumn(i, _T(""));
m_list2.SetColumnWidth(i, 40);
s1.Format(_T("%d"), i);
s2.Format(_T("%d"), i*i);
m_list2.SetItemText(0, i, s1);
m_list2.SetItemText(1, i, s2);
}
}
}
现在要写一个列表视图控件,要求里面动态显示内容
第一列显示数字,第二列显示公式运算结果 行数由我的静态文本输入获得,从1一直到我输入的值
大概就是这样,比方说我输入6
n n*n
1 1
2 4
3 9
4 16
5 25
6 36
就是这样,但是现在用了for循环,for(i=1;i<=n;i++) m_list.InsertItem(i-1,i);
显示“int CListCtrl::InsertItem(int,LPCTSTR)”: 不能将参数 2 从“float”转换为“LPCTSTR”
那我该怎么处理?
还有就是如果我想把一摸一样的内容做成横排的
n 1 2 3 4 5
n*n 1 4 9 16 25
不重载这个控件有什么别的方法吗
------解决方案--------------------
不需要神马重载
mfc对话框 CListCtrl控件 关联变量 设置report风格
OnInitDialog中
m_list1.SetExtendedStyle(m_list1.GetExtendedStyle()
------解决方案--------------------
LVS_EX_GRIDLINES);
m_list1.InsertColumn(0, _T("n"));
m_list1.SetColumnWidth(0, 40);
m_list1.InsertColumn(1, _T("n*n"));
m_list1.SetColumnWidth(1, 40);
m_list2.SetExtendedStyle(m_list2.GetExtendedStyle()
------解决方案--------------------
LVS_EX_GRIDLINES);
m_list2.InsertColumn(0, _T(" "));
m_list2.SetColumnWidth(0, 40);
m_list2.InsertItem(0, _T("n"));
m_list2.InsertItem(1, _T("n*n"));
两个按钮
void CMfcdlg2014Dlg::OnButton1()
{
// TODO: Add your control notification handler code here
int n;
n = GetDlgItemInt(IDC_EDIT1);
if(n>0)
{
m_list1.DeleteAllItems();
int i;
CString s1,s2;
for(i=1;i<=n;i++)
{
s1.Format(_T("%d"), i);
s2.Format(_T("%d"), i*i);
m_list1.InsertItem(i-1, s1);
m_list1.SetItemText(i-1, 1, s2);
}
}
}
void CMfcdlg2014Dlg::OnButton2()
{
// TODO: Add your control notification handler code here
int n;
n = GetDlgItemInt(IDC_EDIT2);
if(n>0 && n<=100)
{
int i;
for(i=n;i>=1;i--)
{
m_list2.DeleteColumn(i);
}
CString s1, s2;
for(i=1;i<=n;i++)
{
m_list2.InsertColumn(i, _T(""));
m_list2.SetColumnWidth(i, 40);
s1.Format(_T("%d"), i);
s2.Format(_T("%d"), i*i);
m_list2.SetItemText(0, i, s1);
m_list2.SetItemText(1, i, s2);
}
}
}