![]() |
|
|
![]()
|
|
| xTr1m |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Даже не знаю, как объяснить все. Проблема собственно в следующем:
есть вид, унаследованный от CListView. В OnPaint() я пишу
Все отображается нормально, но у меня появилась необходимость определить левый верхний угол в логических координтах. Т.е.
И вроде я должен получить точку, у которой "x" будет показывать смещение от логического начала вида. Но строчка :
не изменяет значение точки. Может нужно делать какие-то дополнительные преобразования в OnPrepareDC или еще где, а то даже не знаю, в какую сторону копать Если сформулировать задачу, то звучит так : что мне нужно сделать, чтобы узнать насколько сместился вид, когда юзер делает горизонтальный скролллинг p.s. Вот еще увидел у себя, нормально ли это? dc.GetWindowOrg(); возвращает 0,0 dc.GetWindowExt(); возвращает 1,1 Т.е. получается , что у меня облсти собственно и нет ? а как же он тогда рисует? В обчем я запутался Это сообщение отредактировал(а) xTr1m - 26.8.2006, 23:45 |
||||||
|
|||||||
| 0x07L |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 10.6.2006 Где: Москва Репутация: 1 Всего: 5 |
Может, поможет ::GetScrollPos?
|
|||
|
||||
| xTr1m |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Ну GetScrollPos вернет позицию скролла в зависимости от Range, а как мне потом преобразовать все это в логические координаты?
|
|||
|
||||
| Dart |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 26.6.2006 Где: Саратов, РФ Репутация: 2 Всего: 2 |
Да вроде есть там область, точно GetClipBox попробуй --------------------
ЦитатаЛюблю смотреть, как другие работают Дж. К. ДжеромСайт: www.ecosigma.ruПочта: [email protected] |
|||
|
||||
| 0x07L |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 10.6.2006 Где: Москва Репутация: 1 Всего: 5 |
Вообще, так уж повелось, что позиция скролла совпадает с расстоянием прокрутки в пикселах. Проверял. Так что если тебе нужны логические координаты, используй DPtoLP(&pt), где Cpoint pt(scroll_x, 0); scroll_x - позиция горизонтальной прокрутки.
|
|||
|
||||
| Dart |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 26.6.2006 Где: Саратов, РФ Репутация: 2 Всего: 2 |
А если listview виртуальный, 0x07L, ты хочешь сказать, что тоже будет соответствовать? Что-то мне слабо верится --------------------
ЦитатаЛюблю смотреть, как другие работают Дж. К. ДжеромСайт: www.ecosigma.ruПочта: [email protected] |
|||
|
||||
| 0x07L |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 10.6.2006 Где: Москва Репутация: 1 Всего: 5 |
Что значит "виртуальный listview"? Я проверял на самом обычном ListView (писал на WinAPI).
|
|||
|
||||
| Dart |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 26.6.2006 Где: Саратов, РФ Репутация: 2 Всего: 2 |
Sorry, я имел в виду стиль OWNER DATA
--------------------
ЦитатаЛюблю смотреть, как другие работают Дж. К. ДжеромСайт: www.ecosigma.ruПочта: [email protected] |
|||
|
||||
| xTr1m |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 692 Регистрация: 9.2.2005 Где: Москва Репутация: нет Всего: 1 |
Помогло, спсаибо
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |