Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Графика в CListView 
V
    Опции темы
torero
Дата 24.6.2006, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

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



   Хотел в проекте на базовом классе CListView провести вертикальную линию.
  Но стандартный подход ничего не дал. В OnInitialUpdate() коды после того,
  как вывел списки:

   CClientDC dc(this);
   dc.MoveTo(200,10); dc.LineTo(200,200); 

  и никакой линии между колонками нет.
  Может быть нужен не (this), а другой указатель, но m_List из оператора

       CListCtrl &m_List=GetListCtrl();  - не проходит.

    
 
PM MAIL   Вверх
cozzzy
Дата 24.6.2006, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Invalidate() ? 
PM MAIL   Вверх
Bukmop
Дата 24.6.2006, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Может проще добавить SetExtendedStyle(LVS_EX_GRIDLINES), а рисовать в OnInitialUpdate(), бессмысленно. 
PM MAIL   Вверх
torero
Дата 26.6.2006, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

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



     Спасибо за советы.
 1. LVS_EX_GREADLINES- нет гибкости, чтобы проводить линии произвольно,
    а не всю решётку.
 2. А с OnDraw у меня что-то непонятное. Когда был проект на базе CView,
    то каркас приложения обходил методы в "виде" так: 
    конструктор-OnCreate-OnDraw. Сейчас же на базе CListView:
    конструктор-OnCreate-OnInitialUpdate , и не идёт в OnDraw, даже по
    Invalidate();, который стоит в конце OnInitialUpdate();.
    Когда пойму в чём ошибка, тогда переведу весь вывод в OnDraw, а пока
    затор. 
PM MAIL   Вверх
Coocky
Дата 26.6.2006, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


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

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



Цитата(torero @  24.6.2006,  12:42 Найти цитируемый пост)
OnInitialUpdate() коды после того,
  как вывел списки:

   CClientDC dc(this);
   dc.MoveTo(200,10); dc.LineTo(200,200); 

Ну и что мы делаем? Перед показом окна создаем контекст клиентской области. Рисуем. Уничтожаем. А затем показывает окно, со СВОЕЙ прорисовкой. Которая все стирает smile 
Цитата

Когда пойму в чём ошибка, тогда переведу весь вывод в OnDraw, а пока
    затор.

 


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


Эксперт
****


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

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



Не попадешь в OnDraw, потому, что он не вызывается. Это же стандартный контрол, поэтому все рисует API. Используй механизм CUSTOMDRAW, это позволит дополнить стандартную отрисовку. Набери в индексе MSDN NM_CUSTOMDRAW, посмотри раздел для ListView. Сначала может показаться сложным, но на деле там все просто. 


--------------------
...
PM   Вверх
torero
Дата 28.6.2006, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

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



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


 




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


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

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