Sep*_*our 5 c++ mfc listview visual-studio-2010
为了有一个像这样的表:
在我的MFC对话框中,我添加了一个List Control
.然后使用Add Variable
向导,我为控件创建了这个变量:
public:
CListCtrl m_lstIDC_LIST1Control;
Run Code Online (Sandbox Code Playgroud)
然后在OnInitDialog
我的对话框的功能中,我添加了以下代码行:
// TODO: Add extra initialization here
m_lstIDC_LIST1Control.SetExtendedStyle(LVS_EX_FULLROWSELECT);
m_lstIDC_LIST1Control.SetExtendedStyle(LVS_EX_GRIDLINES);
//m_lstIDC_LIST1Control.SetExtendedStyle( LVS_SHOWSELALWAYS);
LVITEM lvItem;
lvItem.mask = LVIF_TEXT;
lvItem.iItem = 0;
lvItem.iSubItem = 0;
char* text = "Sandra C. Anschwitz";
wchar_t wtext[50];
mbstowcs(wtext, text, strlen(text)+1);
LPWSTR ptr = wtext;
lvItem.pszText = ptr;
m_lstIDC_LIST1Control.InsertItem(&lvItem);
UpdateData(false);
Run Code Online (Sandbox Code Playgroud)
我得到的结果是:
如果我取消注释该行:
//m_lstIDC_LIST1Control.SetExtendedStyle( LVS_SHOWSELALWAYS);
Run Code Online (Sandbox Code Playgroud)
水平网格也不会显示!
所以有什么问题?
为什么我添加的项目没有显示?我应该怎么做才能创建一个像第一张图片中所示的表格?
Rog*_*and 23
首先,确保在资源编辑器中选择了列表控件Report
的View
属性选项.我怀疑你使用的是默认Icon
视图,这不是你想要的.
然后,您需要添加所需的列:
m_lstIDC_LIST1Control.InsertColumn(0, _T("Full Name"), LVCFMT_LEFT, 90);
m_lstIDC_LIST1Control.InsertColumn(1, _T("Profession"), LVCFMT_LEFT, 90);
m_lstIDC_LIST1Control.InsertColumn(2, _T("Fav Sport"), LVCFMT_LEFT, 90);
m_lstIDC_LIST1Control.InsertColumn(3, _T("Hobby"), LVCFMT_LEFT, 90);
Run Code Online (Sandbox Code Playgroud)
最后,您可以按如下方式填充列表项:
int nIndex = m_lstIDC_LIST1Control.InsertItem(0, _T("Sandra C. Anschwitz"));
m_lstIDC_LIST1Control.SetItemText(nIndex, 1, _T("Singer"));
m_lstIDC_LIST1Control.SetItemText(nIndex, 2, _T("Handball"));
m_lstIDC_LIST1Control.SetItemText(nIndex, 3, _T("Beach"));
nIndex = m_lstIDC_LIST1Control.InsertItem(1, _T("Roger A. Miller"));
m_lstIDC_LIST1Control.SetItemText(nIndex, 1, _T("Footballer"));
m_lstIDC_LIST1Control.SetItemText(nIndex, 2, _T("Tennis"));
m_lstIDC_LIST1Control.SetItemText(nIndex, 3, _T("Teaching"));
Run Code Online (Sandbox Code Playgroud)
等等 ....
归档时间: |
|
查看次数: |
28979 次 |
最近记录: |