mfc的list control控件里面可以插入两行column吗?也就是第一行的列对应第二行的两列

mfc的list control控件里面可以插入两行column吗?也就是第一行的列对应第二行的两列,第1张

不可以。

CListCtrl是标准的二维表控件,无法产生一对多。

碰到这个问题,通常解决办法有两个:

第二列拆分为两列,这样显示上可能会变得不好看,根据自己的需要,这个是省力的办法;

自绘列表控件,需要一对多的时候,插入一个空的下一行,首列为空,并通过自绘,盖掉两行之间首列的分隔线。缺点是文字不能上下居中,并且可控性稍差和编程计算会更复杂。

如果以上不能解决问题,建议考虑其它控件或者形式来做界面吧。

我写过的一个mfc文件系统(用的是list control,代码质量有点差)

首先呢拖个listcontrol控件,然后把转换

void CFileManageDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX)

DDX_Control(pDX, IDC_LIST1, m_list)

}

然后在你打开对话框的时候初始化

BOOL CFileManageDlg::OnInitDialog()

{...

m_list.InsertColumn(0, _T("文件名"))

m_list.InsertColumn(1, _T("大小"))

m_list.InsertColumn(2, _T("修改日期"))

m_list.InsertColumn(3, _T("文件类型"))

for(int j=0j<4j++)

m_list.SetColumnWidth(j ,140) //改变每一列宽度

return TRUE // 除非将焦点设置到控件,否则返回 TRUE

}

要添加的时候

m_list.InsertItem(0,Foldername)

m_list.SetItemText(0,2,iDate)

m_list.SetItemText(0,3,iType)

要删除的时候

m_list.DeleteItem(m_list.GetNextItem(-1,LVNI_SELECTED))

就是下面这个效果

你的串号我已经记下,采纳后我会帮你制作


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11909663.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存