Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прокрутка в CListCtrl 
:(
    Опции темы
Denn
Дата 21.9.2005, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я использую класс, унаследованный от CListCtrl, помещенный в CView SDI-приложения. Мне надо прокручивать по вертикали и по горизонтали содержимое контрола, WS_VSCROLL | LVS_OWNERDATA | LVS_REPORT | LVS_NOCOLUMNHEADER. По горизонтали получается нормально, выставляя ширину единственного столбца равной максимальной ширине из всех строк. А вот с вертикальной прокруткой проблема. Я делаю:

Код

CListCtrl::SetScrollPos(SB_VERT, 0, maxHeight);


или вставляя пустой CImageList для изменения размеров строк:

Код

imageList = new CImageList();
imageList->Create(1, maxHeight, 0, 0, 0);
CListCtrl::SetImageList(imageList, LVSIL_NORMAL);


не прокатывает... Как организовать вертикальную прокрутку в ownerdraw CListCtrl?
PM MAIL ICQ   Вверх
Coocky
Дата 22.9.2005, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

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



Че то я не пойму..
Насколько мне известно, если поставить перерисовку, а остальное по умолчанию то за прокрутку отвечает CLisrtCtrl smile


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Denn
Дата 22.9.2005, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



да может и отвечает, только когда я делаю высоту этого CListCtrl меньше суммарной высоты строк, полоса прокрутки не появляется.
PM MAIL ICQ   Вверх
Denn
Дата 22.9.2005, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



У меня есть предположение, что это потому, что я непрально выставляю высоту строк. Как ее выставлять?
PM MAIL ICQ   Вверх
Coocky
Дата 22.9.2005, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

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



Цитата(Denn @ 22.9.2005, 13:47)
У меня есть предположение, что это потому, что я непрально выставляю высоту строк

Что имеешь ввиду-как перерисовать с разной высотой строк?

Добавлено @ 14:02
http://forum.vingrad.ru/index.php?showtopic=63415


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Denn
Дата 22.9.2005, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Coocky то есть если я буду с помощью WM_MEASUREITEM выставлять высоту строки, вертикальный скролл будет выставляться правильно?
PM MAIL ICQ   Вверх
Coocky
Дата 22.9.2005, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

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



Denn
Думаю да...Хотя не пробовал..


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Denn
Дата 23.9.2005, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Мой контрол проме отрисовки имеет еще CEditы. Сделал у своего контрола DRAWFIXED, теперь они не отображаются. smile Кроме того, у MeasureItem при вызове в параметрах оказывается номер итема какой-то непонятный типа 2342342. smile
И еще - если вставлять imageList:
Код

imageList = new CImageList();
imageList->Create(1, maxHeight, 0, 0, 0);
CListCtrl::SetImageList(imageList, LVSIL_NORMAL);

то это значит, что все строки будут иметь одинаковую высоту?

Еще - сделал как в http://www.codeproject.com/listctrl/changerowheight.asp,
OnSetFont() не вызывается. smile

Это сообщение отредактировал(а) Denn - 23.9.2005, 08:48
PM MAIL ICQ   Вверх
Denn
Дата 23.9.2005, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Люди! Ну неужели из-за одного неработающего события переделвать CListCtrl в CListBox?!
PM MAIL ICQ   Вверх
Denn
Дата 23.9.2005, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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


 




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


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

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