| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > полосы прокрутки в рисовании |
| Автор: darthnick 22.5.2006, 03:28 | ||
| хай задача: нарисовать линию, превышающую размеры окна и смотреть недоступную часть линии полосой прокрутки(чтобы в будущем строить графики по точкам). Мой код:
пробовал так же еще и с SCROLLINFO и с полосой в качестве отдельного окна. Собственно проблема: линия не в какую не хочет сдвигаться посоветуйте что делать заранее спасибо |
| Автор: ElcnU 22.5.2006, 09:56 | ||
на MFC на основе CScrollView все просто:в функции OnDraw(...) рисуешь что угодно, главное заранее выставить
|
| Автор: darthnick 22.5.2006, 13:14 |
| не люблю MFC надо чистый апи как я понимаю, надо как то сдвигать координаты |
| Автор: ElcnU 22.5.2006, 14:41 | ||||
Необходимо задать размер область отрисовки с учетом скрола(такая логика в MFC)
может установить
|
| Автор: darthnick 22.5.2006, 16:09 |
| я уже помойму всё перепробовал |
| Автор: Vaulter 22.5.2006, 16:39 |
| darthnick, во первых заведи постоянную hdc, на которой будешь рисовать, и она какраз таки будет необходимой ширины. далее, в начале программы естесвенно при WM_PAINT bitblt по 0,0, ширина окна, высота окна енеблишь скрол если клиент-высота окна меньше высоты твоей hdc отлавливая скролл - запоминаешь координаты "origin" - откуда рисовать ИЗ hdc в 0,0 рисуешь... есть еще.. событие... не помню как зовется, MSDN ща нет по нему можно и отловить скролл и прорисовать корректно - оно именно для этого |
| Автор: darthnick 22.5.2006, 16:46 | ||
| спасиба изменил на
работает О.о |