Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобраться с List Control, MS Visual Studio 2005 C++\MFC\ListCtrl 
:(
    Опции темы
Romeros
Дата 5.9.2007, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Как передать строку в List Control? 

У меня есть List Control, cтроку ввожу в Edit Control!
Введенная строка должна появиться в первом столбце в первой строчке после нажатия на кнопку

В функции BOOL CTestDlg::OnInitDialog() 

\\устанавливаю стили
DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_TWOCLICKACTIVATE;
m_ListCtrl.SetExtendedStyle(m_ListCtrl.GetExtendedStyle() | dwExStyle);

\\добавляю колонки
m_ListCtrl.InsertColumn(0, _T("Номер"),LVCFMT_LEFT,60);
m_ListCtrl.InsertColumn(1, _T("Пароль"),LVCFMT_LEFT,98);

с этим все ОК
____________________________________________________________________________________________________

А вот КУДА добавить код чтобы в моем List Control'e появлялись строки введенные мной по нажатию на кнопку не знаю!

m_ListCtrl.InsertItem() - вроде должен это делать....но точно не знаю как пользоваться этой функцией! 

Может нужно создать класс для List Control? или еще что то....вобщем кто знает напишите пожалуйста что как и куда!!!
Большая прозьба не ссылайтесь на MSDN или Codeproject везде был...

PM MAIL   Вверх
ppoger
Дата 5.9.2007, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ну к примеру создаешь переменную типа контрол в Класс визарде (если на 6 вижле)
переменная к примеру m_list;
Тада вставить элемент в первый слотбец так:
m_list.InsertItem(m_list.GetItemCount(),"текст",0);

для вставки в другие столбцы юзай SetItemText.

пс. функции в мсдн вбей и посмотри на параметры и примеры, там все понятно
PM MAIL   Вверх
NiJazz
Дата 5.9.2007, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


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

Репутация: 2
Всего: 23



Код

CEdit _edit;
CListCtrl _list;

void ClistDlg::OnBnClickedButton1()
{
    // TODO: Add your control notification handler code here
    CString str;
    
    _edit.GetWindowText( str );

    if ( !!str.GetLength() )
        _list.SetItemText( _list.InsertItem( 1, str ), 1, str + CString( " subitem" ) );        
}


Это сообщение отредактировал(а) NiJazz - 5.9.2007, 14:52
PM MAIL   Вверх
Romeros
Дата 5.9.2007, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В функции нажатия на кнопку пишу:
 m_ListCtrl.InsertItem(m_ListCtrl.GetItemCount(),_T("текст"), 0);

В List Control добавляется строка но она ПУСТАЯ что делать????
PM MAIL   Вверх
ppoger
Дата 5.9.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



наверна убрать _T. пс. объясните кто нить, для чего ето нада)
PM MAIL   Вверх
Greeen
Дата 5.9.2007, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(ppoger @  5.9.2007,  16:02 Найти цитируемый пост)
для чего ето нада) 

в зависимости от настроек проекта _T разворачивается либо в L (для юникод) либо в ничего (для Ansi строк)


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


Новичок



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

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



Убрать _T() ничего не даст, в VS 2005 без нее не работает) это пока все что я знаю! 

Неужели никто не знает как добавить эти строки!!!!! smile 
PM MAIL   Вверх
ppoger
Дата 5.9.2007, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



у мну все работает без нее. в настройках использую use multi-character bytes. и любые строки просто в кавычках пишу. 
PM MAIL   Вверх
Greeen
Дата 5.9.2007, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Пример:
Код

CListCtrl list;
// далее связываем через ddx_control нашу переменную с контролом, добавляем столбцы, допустим 2
list.InsertItem(list.GetItemCount(), _T("Column 0"));
list.SetItemText(list.GetItemCount() - 1, 1, _T("Column 1"));



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


Новичок



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

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



Цитата(Greeen @ 5.9.2007,  17:18)
Пример:
Код

CListCtrl list;
// далее связываем через ddx_control нашу переменную с контролом, добавляем столбцы, допустим 2
list.InsertItem(list.GetItemCount(), _T("Column 0"));
list.SetItemText(list.GetItemCount() - 1, 1, _T("Column 1"));

Делаю все так как пишите выдает вот такую ошибку:

Microsoft Visual C++ Debug Library
Debug Assertion Failed!
Program:...
File: f:\sp\vctools\vc7libs\ship\atlmfc\include\afxcmc.ini
Line 140

For information on how your program can cause an assertion faiure, see the Visual C++ documentation on asserts.

Помогите разобраться!!!
PM MAIL   Вверх
Greeen
Дата 6.9.2007, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



То что написано в комментарии тоже сделал? Естественно, переменную типа CListCtrl объявляй либо в классе диалога, либо как глобальную (не рекомендуется)

Это сообщение отредактировал(а) Greeen - 6.9.2007, 19:23


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


 




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


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

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