Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема CListCtrl, в SDI приложении 
:(
    Опции темы
DoZENT
Дата 15.2.2008, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



В приложении создаю лист так:
Код

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
        return -1;

...
...

    CRect ClientRect, RebarRect, ListRect, StatusRect;
    GetClientRect(ClientRect);
    m_wndReBar.GetClientRect(RebarRect);
    m_wndStatusBar.GetClientRect (StatusRect);


    ListRect = CRect (2, RebarRect.Height()+2, RebarRect.Width(), ClientRect.Height()-StatusRect.Height()-20);
    m_MainList.Create(LVS_REPORT | WS_VISIBLE, ListRect, this, ID_MAIN_LIST);

    m_MainList.InsertItem(0, _T("Item"));*/
    m_MainList.InsertColumn(0, _T("Name"),
        LVCFMT_LEFT, ListRect.Width() / 3);
    m_MainList.InsertColumn(1, _T("Type"),
        LVCFMT_LEFT, 2 * ListRect.Width() / 9);
    m_MainList.InsertColumn(2, _T("Size"),
        LVCFMT_RIGHT, ListRect.Width() / 9);
    m_MainList.InsertColumn(3, _T("Modified"), 
        LVCFMT_LEFT, ListRect.Width() / 3);

...




Лист отображается почему-то неактивным.. Т.е. не реагирует не нажатия кнопок и клавиатуры, даже скролл бары нельзя передвинуть. Что неправильно?


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
Freak_FB
Дата 15.2.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ктулхувед
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 13.10.2006

Репутация: нет
Всего: 4



Я конечно не специалист... А если попробовать EnableWindow() ?


--------------------
user posted image
user posted image
Тонет Ктулху, все медведы горят в огне.
Я Креведко, очень страшно сегодня мне.

PM MAIL ICQ Skype GTalk Jabber   Вверх
DoZENT
Дата 15.2.2008, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



неТ не помогает. Лист на вид как обычный, не затемненный (т.е. не DISABLED), но сделать с ним ничего нельзя. Помню в делфи такой эффект был, если поставить у контрола свойство ReadOnly в true.


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
DoZENT
Дата 17.2.2008, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



такое ощущение, что на этом форуме помогают всем, кроме меня((


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
Greeen
Дата 17.2.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 10
Всего: 18



А чего ты хочешь добиться, чтобы у тебя список в качестве представления (view) выступал? Тогда есть CListView... Если нет, объясни.


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
DoZENT
Дата 17.2.2008, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



Я хочу создать обычный лист с возможностью добавления/удаления элементов. Вообщем-то у меня это получилось, но лист не активен. Извини, не знаю как использовать класс CListView, при добавлении переменной типа CListView m_viewlist, говорить, что не знает класса ClistView.


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
Greeen
Дата 17.2.2008, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 10
Всего: 18



У тебя SDI приложение, так? Т.е. ты юзаешь документ/представление? Или объясни в каком контексте ты используешь список?
Вот описание CListView:
Цитата
Simplifies use of the list control and of CListCtrl, the class that encapsulates list-control functionality, with MFC's document-view architecture.



--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
DoZENT
Дата 17.2.2008, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



Да, у меня SDI приложение. Как это сложно все после делфи....... Мне нужно в своем приложении отображать некоторые данные. Лучший контрол для этого - лист. Вот надо как-то его создать. Через класс CListCtrl лист создается, но почему-то неактивным. Вроде по описанию класса CListView он мне подходит. Но почему справка в MSDN по нему такая бедная (вообще никакая)? И при добавлении переменной типа CListView m_viewlist, вываливается ошибка, что не класс CListView неизвестен?


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
Earnest
Дата 17.2.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Возможно, контрол в галвном окне диэблится в холостом цикле по принципу "DisableIfNoHandler". Странно, конечно, вроде так только кнопки должны себя вести. Попробуй добавить в главное окно обработчик ON_UPDATE для листа, пустой или Enable (true). Но еще лучше используй CListView вместо CListCtrl и создавай его как вид в фрейме.

CListView заточен под динамическое создание, через шаблон документа. У тебя документ есть? Тогда тебе удобнее пользоваться стандартной SDI схемой, документ-вью. А если нет, но почему бы не сделать диалог-based приложение?


--------------------
...
PM   Вверх
DoZENT
Дата 17.2.2008, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 326
Регистрация: 2.6.2006

Репутация: нет
Всего: 1



В моем приложении вообще схема документа не нужна... Просто позарился на красивашные тулбары, которые создает MFC-мастер в SDI приложении))) 


--------------------
Какая боль, какая боль, Internet Explorer 5.0...
PM MAIL   Вверх
Greeen
Дата 17.2.2008, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 10
Всего: 18



Цитата(DoZENT @  17.2.2008,  20:45 Найти цитируемый пост)
Просто позарился на красивашные тулбары, которые создает MFC-мастер в SDI приложении))) 

не такие уж они и "красивашные"  smile в любом случае в dialog-based приложении ты сам сможешь такие же создать... так что удачи  smile 



--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.