Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как организовать прокрутку в CListCtrl? 
V
    Опции темы
erslgoeirjh
Дата 23.9.2016, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть переменная myListCtrl типа CListCtrl. Как организовать вертикальную и горизонтальную прокрутку содержимого в нём?
Приведите, пожалуйста, простые программные примеры.

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


конь в пальто
**


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

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



вертикальная
Код

mlist.EnableScrollBarCtrl(1,1);
mlist.UpdateWindow();

горизонтальная
Код

mlist.EnableScrollBarCtrl(0,1);
mlist.UpdateWindow();


Добавлено через 2 минуты и 22 секунды
просто. программно  smile 
PM MAIL ICQ   Вверх
erslgoeirjh
Дата 4.10.2016, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ясно. И ещё вопрос.

Я решил использовать для создания таблицы компонент CListCtrl, с которым я раньше не работал.

Я хочу сделать таблицу из двух столбцов--"Столбец 1" и "Столбец 2", в строках этой таблицы содержался бы текст и были бы видны границы между столбцами и строками.

Я повесил компонент IDC_LIST1, которому соответствует переменная m_IDC_LIST1 типа CListCtrl. Я написал следующий код:

Код

m_IDC_LIST1.InsertColumn(0,"Столбец 1");
m_IDC_LIST1.InsertColumn(1,"Столбец 2");
m_IDC_LIST1.InsertItem(0,"");
m_IDC_LIST1.SetItemText(0,0,"элемент (0,0)");
m_IDC_LIST1.SetItemText(0,1,"элемент (0,1)");
m_IDC_LIST1.InsertItem(1,"");
m_IDC_LIST1.SetItemText(1,0,"элемент (1,0)");
m_IDC_LIST1.SetItemText(1,1,"элемент (1,1)");
m_IDC_LIST1.InsertItem(2,"");
m_IDC_LIST1.SetItemText(2,0,"элемент (2,0)");
m_IDC_LIST1.SetItemText(2,1,"элемент (2,1)");
m_IDC_LIST1.InsertItem(3,"");
m_IDC_LIST1.SetItemText(3,0,"элемент (3,0)");
m_IDC_LIST1.SetItemText(3,1,"элемент (3,1)");
m_IDC_LIST1.InsertItem(1,"");
m_IDC_LIST1.SetItemText(4,0,"элемент (4,0)");
m_IDC_LIST1.SetItemText(4,1,"элемент (4,1)");
m_IDC_LIST1.InsertItem(1,"");
m_IDC_LIST1.SetItemText(5,0,"элемент (5,0)");
m_IDC_LIST1.SetItemText(5,1,"элемент (5,1)");


В результате чего у меня появляется заголовок таблицы из двух элементов--"Столбец 1" и "Столбец 2". Ниже расположена строка "элемент (0,0) элемент (0,1)",ниже расположена пустая строка, ниже расположена строка "элемент (1,0) элемент (1,1)", ниже расположена строка "элемент (2,0) элемент (2,1)" и так далее. Эта таблица прокручивается по вертикали, как я и хотел. Но никаких границ между строками и между столбцами я не вижу.

Как мне сделать так, чтобы в таблице m_IDC_LIST1 отображались границы между строками и столбцами и как мне убрать пустую строку после первой строки таблицы?


Это сообщение отредактировал(а) erslgoeirjh - 4.10.2016, 13:46
PM MAIL   Вверх
erslgoeirjh
Дата 4.10.2016, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я сам разобрался:

Код

m_IDC_LIST1.SetExtendedStyle(LVS_EX_GRIDLINES);
m_IDC_LIST1.InsertColumn(0,"Столбец 1");
m_IDC_LIST1.InsertColumn(1,"Столбец 2");
m_IDC_LIST1.InsertItem(0,"");
m_IDC_LIST1.SetItemText(0,0,"элемент (0,0)");
m_IDC_LIST1.SetItemText(0,1,"элемент (0,1)");
m_IDC_LIST1.InsertItem(1,"");
m_IDC_LIST1.SetItemText(1,0,"элемент (1,0)");
m_IDC_LIST1.SetItemText(1,1,"элемент (1,1)");
m_IDC_LIST1.InsertItem(2,"");
m_IDC_LIST1.SetItemText(2,0,"элемент (2,0)");
m_IDC_LIST1.SetItemText(2,1,"элемент (2,1)");
m_IDC_LIST1.InsertItem(3,"");
m_IDC_LIST1.SetItemText(3,0,"элемент (3,0)");
m_IDC_LIST1.SetItemText(3,1,"элемент (3,1)");
m_IDC_LIST1.InsertItem(4,"");
m_IDC_LIST1.SetItemText(4,0,"элемент (4,0)");
m_IDC_LIST1.SetItemText(4,1,"элемент (4,1)");
m_IDC_LIST1.InsertItem(5,"");
m_IDC_LIST1.SetItemText(5,0,"элемент (5,0)");
m_IDC_LIST1.SetItemText(5,1,"элемент (5,1)");


Это сообщение отредактировал(а) erslgoeirjh - 4.10.2016, 13:46
PM MAIL   Вверх
vol4ek
Дата 4.10.2016, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


конь в пальто
**


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

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



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


 




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


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

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