Непонятки с CListCtrl
От: Mazenrab Россия http://www.electrica.ru
Дата: 25.10.02 18:32
Оценка:
Привет!

Вводная
Дано SDI-приложение с вертикальным сплиттером. Слева CTreeView справа CListView. С CListView все ок, все добавляется выделяется удаляется, а вот с CListView беда. Я использую report view для него и при добавлениии элементов ничего не происходит (т.е. они не выводятся на экран). Уже все мозги поломал думать из-за чего Так что если кто, что знает — помогите plz.

Мой код на всяк случай...


CListCtrl& list = GetListCtrl();
list.ModifyStyle(0,LVS_REPORT,0);
list.InsertColumn(1,"Link",LVCFMT_LEFT,300);
list.InsertColumn(2,"Description",LVCFMT_LEFT,60);
int nIndex=list.InsertItem(1,"Hello");
list.SetItemText(nIndex,1,"zuzu");
Re: Непонятки с CListCtrl
От: Crypto Украина  
Дата: 26.10.02 09:27
Оценка:
Здравствуйте Mazenrab, Вы писали:

M>CListCtrl& list = GetListCtrl();

M>list.ModifyStyle(0,LVS_REPORT,0);

А если эту строчку поменять на:
list.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);

Re[2]: Непонятки с CListCtrl
От: Mazenrab Россия http://www.electrica.ru
Дата: 26.10.02 10:03
Оценка:
Здравствуйте Crypto, Вы писали:

C>Здравствуйте Mazenrab, Вы писали:


M>>CListCtrl& list = GetListCtrl();

M>>list.ModifyStyle(0,LVS_REPORT,0);

C>А если эту строчку поменять на:

C>list.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);

C>


Никаких изменений в поведении....
Re[3]: Непонятки с CListCtrl
От: Crypto Украина  
Дата: 26.10.02 14:37
Оценка:
Здравствуйте Mazenrab, Вы писали:

M>Никаких изменений в поведении....


Э...., а чего итемы и колонки с ненулевого индекса добавляются, а?

Сори, что раньше не увидел.
Re[4]: Непонятки с CListCtrl
От: Mazenrab Россия http://www.electrica.ru
Дата: 26.10.02 19:32
Оценка:
Здравствуйте Crypto, Вы писали:

C>Здравствуйте Mazenrab, Вы писали:


M>>Никаких изменений в поведении....


C>Э...., а чего итемы и колонки с ненулевого индекса добавляются, а?


C>Сори, что раньше не увидел.


Гм... Это в принципе по моему не важно, но я пробовал менять — ничего т.е. все как прежде...

Да! На всякий случай...я вставляю строки в OnInitialUpdate() вьюшника — это не может повлиять? Хотя я и в других местах пробовал — не помогает
Re[5]: Непонятки с CListCtrl
От: Crypto Украина  
Дата: 26.10.02 19:54
Оценка:
Здравствуйте Mazenrab, Вы писали:

M>Гм... Это в принципе по моему не важно, но я пробовал менять — ничего т.е. все как прежде...


M>Да! На всякий случай...я вставляю строки в OnInitialUpdate() вьюшника — это не может повлиять? Хотя я и в других местах пробовал — не помогает


Я сгенерил SDI, WindowsExplorer type.
Слева Дерево, справа ЛистКтрл .
(class CMazenrabView : public CListView)

Все изменения:
void CMazenrabView::OnInitialUpdate()
{
CListView::OnInitialUpdate();

CListCtrl& List = GetListCtrl();

List.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);
List.InsertColumn(0,"Col1",LVCFMT_LEFT,100);
List.InsertItem(0,"Item1");
}

Итем и колонка показываются. Не понимаю проблем. Может пришлете исходники? Или мне прислать эти?

На название класса не обижаться, ок?
Re[6]: Непонятки с CListCtrl
От: Mazenrab Россия http://www.electrica.ru
Дата: 26.10.02 20:02
Оценка:
Здравствуйте Crypto, Вы писали:

C>Итем и колонка показываются. Не понимаю проблем. Может пришлете исходники? Или мне прислать эти?

Шлите (или отсылайте ) если не сложно: mazenrab@rambler.ru

C>На название класса не обижаться, ок?

Уж какие могут быть обиды
Re[6]: Непонятки с CListCtrl
От: Mazenrab Россия http://www.electrica.ru
Дата: 28.10.02 10:19
Оценка:
Здравствуйте Crypto, Вы писали:


C>Я сгенерил SDI, WindowsExplorer type.

C>Слева Дерево, справа ЛистКтрл .
C>(class CMazenrabView : public CListView)
C>Все изменения:
C>void CMazenrabView::OnInitialUpdate()
C>{
C> CListView::OnInitialUpdate();

C> CListCtrl& List = GetListCtrl();


C> List.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);

C> List.InsertColumn(0,"Col1",LVCFMT_LEFT,100);
C> List.InsertItem(0,"Item1");
C>}
C>Итем и колонка показываются. Не понимаю проблем. Может пришлете исходники? Или мне прислать эти?

Да елки-палки все работает....
Я сейчас сижу и пытаюсь понять в чем может быть трабл в моей проге
Я видел похожий вопрос в форуме гораздо раньше, но без ответа, так что хочется разобраться и выложить ответ...

Большое спасибо to Crypto.
Re: Непонятки с CListCtrl
От: Mazenrab Россия http://www.electrica.ru
Дата: 28.10.02 13:51
Оценка:
Нашел в чем ошибка
Сообщаю для будущих поколений, чтоб не лажались

Итак привожу исходный код:

void CMyBookmarksView::OnInitialUpdate() 
{
        CView::OnInitialUpdate();
    CListCtrl& list = GetListCtrl();

    list.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);

    list.InsertColumn(1,"Link",LVCFMT_LEFT,300);
    list.InsertColumn(2,"Description",LVCFMT_LEFT,60);
        int nIndex=list.InsertItem(0,"Hello");
    
    list.SetItemText(nIndex,1,"zuzu");
        
}


Заметили ошибку? Я не сразу. Короче чтобы на мое имя не посыпались проклятия жаждущих узнать ответ:

Я класс CMyBookmarksView генерил с помощью визарда от CView, а потом ручками переправил на CListView. Переправил, да не везде и уж точно не в OnInitialUpdate().


Правильный код:

void CMyBookmarksView::OnInitialUpdate() 
{
     CListView::OnInitialUpdate();
    CListCtrl& list = GetListCtrl();

    list.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);

    list.InsertColumn(1,"Link",LVCFMT_LEFT,300);
    list.InsertColumn(2,"Description",LVCFMT_LEFT,60);
        int nIndex=list.InsertItem(0,"Hello");
    
    list.SetItemText(nIndex,1,"zuzu");
        
}


Это ж надо так лажануться

Мораль

Ручки были есть и будут самым надежным инструментом программиста!
Re[2]: Непонятки с CListCtrl
От: kmn Украина  
Дата: 28.10.02 13:59
Оценка:
Здравствуйте Mazenrab, Вы писали:

M>Нашел в чем ошибка :)))

M>Сообщаю для будущих поколений, чтоб не лажались :-\

M>Итак привожу исходный код:


M>
M>void CMyBookmarksView::OnInitialUpdate() 
M>{
M>        CView::OnInitialUpdate();
M>    CListCtrl& list = GetListCtrl();

M>    list.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);

M>    list.InsertColumn(1,"Link",LVCFMT_LEFT,300);
M>    list.InsertColumn(2,"Description",LVCFMT_LEFT,60);
M>        int nIndex=list.InsertItem(0,"Hello");
M>    
M>    list.SetItemText(nIndex,1,"zuzu");
M>        
M>}
M>


M>Заметили ошибку? Я не сразу. Короче чтобы на мое имя не посыпались проклятия жаждущих узнать ответ:


M>Я класс CMyBookmarksView генерил с помощью визарда от CView, а потом ручками переправил на CListView. Переправил, да не везде и уж точно не в OnInitialUpdate().


M>

M>Правильный код:

M>
M>void CMyBookmarksView::OnInitialUpdate() 
M>{
M>     CListView::OnInitialUpdate();
M>    CListCtrl& list = GetListCtrl();

M>    list.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);

M>    list.InsertColumn(1,"Link",LVCFMT_LEFT,300);
M>    list.InsertColumn(2,"Description",LVCFMT_LEFT,60);
M>        int nIndex=list.InsertItem(0,"Hello");
M>    
M>    list.SetItemText(nIndex,1,"zuzu");
M>        
M>}
M>


M>Это ж надо так лажануться :shuffle:


M>Мораль


M>Ручки были есть и будут самым надежным инструментом программиста! :))
Re[2]: Непонятки с CListCtrl
От: kmn Украина  
Дата: 28.10.02 14:03
Оценка:
Здравствуйте Mazenrab, Вы писали:

M>Нашел в чем ошибка :)))

M>Сообщаю для будущих поколений, чтоб не лажались :-\

M>Итак привожу исходный код:


M>
M>void CMyBookmarksView::OnInitialUpdate() 
M>{
M>        CView::OnInitialUpdate();
M>    CListCtrl& list = GetListCtrl();

M>    list.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);

M>    list.InsertColumn(1,"Link",LVCFMT_LEFT,300);
M>    list.InsertColumn(2,"Description",LVCFMT_LEFT,60);
M>        int nIndex=list.InsertItem(0,"Hello");
M>    
M>    list.SetItemText(nIndex,1,"zuzu");
M>        
M>}
M>


M>Заметили ошибку? Я не сразу. Короче чтобы на мое имя не посыпались проклятия жаждущих узнать ответ:


M>Я класс CMyBookmarksView генерил с помощью визарда от CView, а потом ручками переправил на CListView. Переправил, да не везде и уж точно не в OnInitialUpdate().


M>

M>Правильный код:

M>
M>void CMyBookmarksView::OnInitialUpdate() 
M>{
M>     CListView::OnInitialUpdate();
M>    CListCtrl& list = GetListCtrl();

M>    list.ModifyStyle(LVS_TYPEMASK,LVS_REPORT);

M>    list.InsertColumn(1,"Link",LVCFMT_LEFT,300);
M>    list.InsertColumn(2,"Description",LVCFMT_LEFT,60);
M>        int nIndex=list.InsertItem(0,"Hello");
M>    
M>    list.SetItemText(nIndex,1,"zuzu");
M>        
M>}
M>


M>Это ж надо так лажануться :shuffle:


M>Мораль


M>Ручки были есть и будут самым надежным инструментом программиста! :))



Скорер всего у тебя в PreCreateWindow в места
CListView::PreCreateWindow(...) было написано CView::PreCreateWindow...


OnInitialUpdate() здесь не причем
Re[3]: Непонятки с CListCtrl
От: Mazenrab Россия http://www.electrica.ru
Дата: 28.10.02 21:27
Оценка:
kmn>Скорер всего у тебя в PreCreateWindow в места
kmn>CListView::PreCreateWindow(...) было написано CView::PreCreateWindow...
kmn>OnInitialUpdate() здесь не причем

Естестна... и там тоже...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.