![]() |
|
![]() ![]() ![]() |
|
torero |
|
|||
Бывалый ![]() Профиль Группа: 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(); - не проходит. |
|||
|
||||
cozzzy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 29.4.2006 Где: Харьков Репутация: нет Всего: нет |
Invalidate() ?
|
|||
|
||||
Bukmop |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 1.6.2006 Где: Москва Репутация: 2 Всего: 3 |
Может проще добавить SetExtendedStyle(LVS_EX_GRIDLINES), а рисовать в OnInitialUpdate(), бессмысленно.
|
|||
|
||||
torero |
|
|||
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 177 Регистрация: 1.2.2006 Репутация: нет Всего: нет |
Спасибо за советы.
1. LVS_EX_GREADLINES- нет гибкости, чтобы проводить линии произвольно, а не всю решётку. 2. А с OnDraw у меня что-то непонятное. Когда был проект на базе CView, то каркас приложения обходил методы в "виде" так: конструктор-OnCreate-OnDraw. Сейчас же на базе CListView: конструктор-OnCreate-OnInitialUpdate , и не идёт в OnDraw, даже по Invalidate();, который стоит в конце OnInitialUpdate();. Когда пойму в чём ошибка, тогда переведу весь вывод в OnDraw, а пока затор. |
|||
|
||||
Coocky |
|
||||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Ну и что мы делаем? Перед показом окна создаем контекст клиентской области. Рисуем. Уничтожаем. А затем показывает окно, со СВОЕЙ прорисовкой. Которая все стирает ![]()
-------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
||||
|
|||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Не попадешь в OnDraw, потому, что он не вызывается. Это же стандартный контрол, поэтому все рисует API. Используй механизм CUSTOMDRAW, это позволит дополнить стандартную отрисовку. Набери в индексе MSDN NM_CUSTOMDRAW, посмотри раздел для ListView. Сначала может показаться сложным, но на деле там все просто.
-------------------- ... |
|||
|
||||
torero |
|
|||
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 177 Регистрация: 1.2.2006 Репутация: нет Всего: нет |
Всё посмотрел, понял в каком направлении двигаться. На практическую
реализацию, конечно, нужно время. Большое спасибо. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |