如何设置MFC多列列表框

如何设置MFC多列列表框,第1张

用clistctrl控件,一个windows标准控件。

设置列表框风格,lvs_report就是你想要的。如果基于对话框资源可以直接在编辑器上加上lvs_report风格,或者使用下面的代码来添加

m_wndwialist.modifystyle(0,

lvs_report)

可以设置扩展风格、添加网格线、和整行选中

m_wndwialist.setextendedstyle(lvs_ex_gridlines|lvs_ex_fullrowselect)

接下来添加列

m_wndwialist.insertcolumn(0,

"序号")

m_wndwialist.insertcolumn(1,

"被考核单位")

m_wndwialist.insertcolumn(2,

"单位人数")

m_wndwialist.insertcolumn(3,

"指标责任人")

添加数据的时候用

wndwialist.insertitem(nrow,

strno)

添加一行,并且把这行的第一列内容设置为strno

要想设置这行其他的列

wndwialist.setitemtext(nrow,

1,

"fv_dep_name"))

这样就可以设置nrow行第2列的内容

然后设置一下宽度

int

ncol(0)

while

(m_wndwialist.setcolumnwidth(ncol++,

lvscw_autosize_useheader))

在窗口上创建列表框,可以先创建一个CListBox实例,然后调用该实例的Create函数,原型如下

BOOLCreate(DWORDdw Style, constRECT&rect, CWnd*pParentWnd, UINTnID)

Style 是列表框的风格,rect是列表框的位置和大小

完整的 *** 作可以在MSDN上查看 CListBox的说明。

另外,CStringList 与 列表框没有关系,如果要将内容放入列表框,需要调用CListBox的AddString函数逐条加入

m_MusicData.clear() // vector<CString>m_MusicData//存储歌曲列表数据,以便下次读取

// TODO: 在此添加控件通知处理程序代码

CFileDialog m_Dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT

| OFN_ALLOWMULTISELECT, NULL, NULL)

if (m_Dlg.DoModal() == IDOK)

{

POSITION pos

pos = m_Dlg.GetStartPosition()

while (pos)

{

CString m_Path = m_Dlg.GetNextPathName(pos)

//判断是否为MP3文件

if (m_Path.Find(_T(".mp3"))<0)

{

continue

}else

{

//这里去添加到列表

m_listbox.InsertString(m_listbox.GetCount(), m_Path)

m_listbox.SetCurSel(m_listbox.GetCount() - 1)

}

}

}

//这里去更新歌曲列表数据

for (int i = 0i <m_listbox.GetCount()i++)

{

CString str

m_listbox.GetText(i,str)

m_MusicData.push_back(str)

}


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

原文地址: https://outofmemory.cn/bake/11416566.html

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

发表评论

登录后才能评论

评论列表(0条)

保存