在MFC工程中添加一个有列表的对话框
关于添加一个对话框,里面拥有一个列表显示相关的内容。
- 在工程中新添加一个资源:Dialog
- 此次的目的是为了在对话框中显示一个记录的类型名和对应的属性值。类似一个Student记录中的Name和Age。一个N个记录的List。因此,我们可以使用一个ListControl控件,把控件的大小和位置都拖放到自己认为合适的大小。
- 右击控件,打开控件的属性框,为了方便识别,可以修改ID,例如:IDD_STU_NAMEAGE。为了能显示相应的提示信息,在Style标签下,View中选择Report类型。
- 在基础设置完成后,就开始了定制对话框在初始被弹出时的显示内容和样式。我们定义该ListControl控件的名字为CListCtrl m_list;
- 在对话框函数中添加函数
- virtual BOOL OnInitDialog();
{
CDialog::OnInitDialog()
//获取当前扩展样式
DWORD dwStyle = m_list.GetExtendedStyle();
//选中某行使整行高亮(report风格)
dwStyle = LVS_EX_FULLROWSELECT;
//网格线(report风格)
dwStyle |= LVS_EX_GRIDLINES;
【在MFC工程中添加一个有列表的对话框】//在item前产生checkout控件(可选)
//dwStyle |= LVS_EX_CHECKBOXED;
m_list.SetExtendedStyle(dwStyle);
CRect rect;
m_list.GetWindowRect(&rect);
int listwidth = rect.Width();
m_list.InsertColumn(0, "Name", LVCFMT_LEFT, listwidth/2, -1);
m_list.InsertColumn(1, "Age", LVCFMT_LEFT, listwidth/2, -1);
for(int i = 0; i<3; i++)
{
m_list.InsertItem(i,"aaa");
m_list.InsertItem(i,1,"bbb");
}
return true;
}
说明:其中关于格式设定的部分,来源于网络,由于查找资料的时间过去了,来源不确定,因此感谢各位在网上提供资料的各位同仁。