| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > рисование графика |
| Автор: Diiana 7.8.2009, 15:40 |
| Добрый день! Не подскажите как реализовать следующую идею,какой компонент взять,с графикой не очень дружу,а приходится,с базы данных по sql запросу получаю данные (в этом проблемы нет) и по этим данным нужно нарисовать график с ползунком. |
| Автор: Earnest 7.8.2009, 17:01 |
| В MFC нет готового компонента. Сделай класс-контрол на основе Static и рисуй там свой график, так что с графикой придется подружиться. Хотя все что тебе нужно совсем несложно. Посмотри класс CDC - там все рисование. И не понятно, что значит "график с ползунком". |
| Автор: Diiana 11.8.2009, 10:56 | ||
Earnest, спасибо вам за ответ. вот начала рисовать в Picture Control
только вот рисует с вехнего левого угла и получается график с верху вниз.а как сделать чтобы двигался с левого нижнего угла и слева на право?Вот сколько заморочек чтобы нарисовать график,из-за этого и не люблю графику |
| Автор: Albor 11.8.2009, 11:05 |
| Используй MoveTo() для перемещения в нужную точку. |
| Автор: Earnest 11.8.2009, 15:13 |
| Во-первых, рисовать лучше в обработчике OnPaint, и тогда использовать контекст CPaintDC. Во-вторых, система координат по-умолчанию MM_TEXT, т.е. координата у отсчитывается как у растров - с левого верхнего угла вниз. Но есть и другие системы координат, см. CDC::SetMapMode. Для графика лучше всего подойдут MM_ISOTROPIC или MM_ANISOTROPIC: можно сразу установить произвольный масштаб ( в смысле отображения единиц графика в пикселы экрана). Есть ограничение: только целые координаты, что не всегда удобно. Если хочешь работать с double координатами, придется написать свое преобразование и пересчитывать самой каждую точку. Тогда проще оставить MM_TEXT. |