Re: CListCtrl
От: Carc Россия http://www.amlpages.com/home.php
Дата: 06.08.12 05:24
Оценка:
Здравствуйте, Rulya, Вы писали:

R>написал простенькую програму документ-представение с поддержкой персистентности.

R>в качевстве представения служит класс CListView.
R>Если загружаю файл через диалоговое окно, то все отображается правильно.
R>если же через переопроделение функ. OnNewDocument, все загружается в список авт.,
R>но нет второй колонки списка. Где тут зарыта бяка. Список сортированный.

R>void CTelNotView::AddToReport(TelItem *ti)

R>{
R> CListCtrl &list = GetListCtrl();
R> int findex, nItem = list.GetItemCount();
R> list.InsertItem(nItem, (LPCTSTR)ti->m_person);
R> LVFINDINFO fi;
R> ZeroMemory(&fi, sizeof(LVFINDINFO));
R> fi.flags = LVFI_STRING;
R> fi.psz = ti->m_person;
R> findex = list.FindItem(&fi);
R> if (findex == -1)
R> return;
R> list.SetItemText(findex, 1, (LPCTSTR)ti->m_tel); // dosn't work here
R>}

А зачем искать добавленный только что новый айтем, если GetListCtrl::InsertItem() как раз и вернет индекс добавленного нового элемента?
Т.е.

const int nNewItemIndex=list.InsertItem(nItem, (LPCTSTR)ti->m_person);
ASSERT(nNewItemIndex>=0);
//...
list.SetItemText(nNewItemIndex, 1, (LPCTSTR)ti->m_tel);
Aml Pages Home
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.