Рейтинг:
4
Jochen Arndt
Вы должны добавить соответствующие столбцы в свой элемент управления списком, который должен находиться в режиме отчета (LVS_REPORT
стиль, обычно определяемый в файле ресурсов). Сделайте это в функции инициализации родительского окна (например, OnInitDialog
с помощью диалоговых окон):
m_lstStudent.InsertColumn(0, _T("Name"));
m_lstStudent.InsertColumn(1, _T("ID"));
m_lstStudent.InsertColumn(2, _T("Class"));
Затем установите данные столбца после добавления нового элемента:
// Insert new item and set text for first column
int pos = m_lstStudent.InsertItem(0, sname);
// Set text for other columns
m_lstStudent.SetItemText(pos, 1, id);
m_lstStudent.SetItemText(pos, 2, sclass);
Premnath Mali
Спасибо, это работает нормально, но проверьте один раз SetItemData (), если мы можем использовать его для того же самого, а затем прокомментируйте меня снова...!
Jochen Arndt
SetItemData () устанавливает пользовательские данные для элемента (значение DWORD). В приложениях баз данных он может использоваться для хранения числового идентификатора.
Вероятно, вы захотите использовать другие функции Set, такие как SetItem(). Их можно использовать не по курсу. Но тогда вы должны создать и инициализировать структуру LVITEM.
Premnath Mali
Как нам это сделать? У вас есть какой-нибудь фрагмент этого?
Я имею в виду, что вы уже помогли мне сделать мои вещи, но что, если эта студенческая структура имеет более 20 переменных в то время, устанавливая каждый элемент вручную, это не очень хороший способ, не так ли?
Jochen Arndt
Фрагмент, не зная, как организованы ваши дара, на самом деле не поможет.
Для каждого поля вашей структуры в списке будет столбец. И вы должны установить каждый столбец (подпункт). Единственное, что нужно сделать при установке многих подколонок или добавлении нескольких элементов, - это отключить перерисовку при обновлении списка.