Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вывод надписи на графике 
:(
    Опции темы
kuvshinka
Дата 4.6.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 27.4.2008

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




вывод текста:
Код

Chart->Canvas->TextOut(координата x, координата y, строка);



подскажите как вывести надпись в произвольном месте TChart-a  (см. выше) вместе ("поверх") с каким-либо  графиком ???

PM MAIL   Вверх
SerK
Дата 6.6.2008, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 31.3.2007

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



kuvshinka 

Все очень просто.

Код

Chart->Canvas->Brush->Stile=bsClear;
//и текст будет прозрачным, только указывайте другие координаты
Chart->Canvas->TextOut(0, 0," строка1");
Chart->Canvas->TextOut(10, 10," строка2");//и тд.



--------------------
Пусть будет миру хорошо!
PM MAIL   Вверх
kuvshinka
Дата 6.6.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 27.4.2008

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



SerK - да не так все просто, как хотелось бы....

попробуйте свой код вместе с построением какого-либо графика и увидите, что текст не выводится, а только промигивает при нажатии на кнопку...
PM MAIL   Вверх
SerK
Дата 12.6.2008, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 31.3.2007

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



kuvshinka 

Дело в том, что сначала нужно выводить графику (график, что тоже есть графика), а только потом текст.


--------------------
Пусть будет миру хорошо!
PM MAIL   Вверх
JayTi
Дата 13.6.2008, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 22.5.2008

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



там в графике есть событие OnAfterDraw, это самое последнее событие после выполнения графиком своего цикла прорисовки. Там можешь описать вставку текста.
PM MAIL   Вверх
kuvshinka
Дата 17.6.2008, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 27.4.2008

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



JayTi: спасибо за информацию, но у меня задача следующая:
есть график типа Area с большим число точек (5000) - точки графика по частям разделены различными цветами (100 точек - красные, далее 350 точек - синие и т.п.)...
Надо сделать  в середины каждого цветового диапазона графика  вывод произвольной текстовой надписи, но чтобы они (надписи) при проуручивании графика вправо прокручивались бы вместе с графиком, а так получается, что график прокручивается, а надпись стоит на месте (типа указана точка вывода надписи)....
PM MAIL   Вверх
BOB4uK
Дата 12.8.2008, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 28.2.2004

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



Цитата(kuvshinka @ 17.6.2008,  12:05)
JayTi: спасибо за информацию, но у меня задача следующая:
есть график типа Area с большим число точек (5000) - точки графика по частям разделены различными цветами (100 точек - красные, далее 350 точек - синие и т.п.)...
Надо сделать  в середины каждого цветового диапазона графика  вывод произвольной текстовой надписи, но чтобы они (надписи) при проуручивании графика вправо прокручивались бы вместе с графиком, а так получается, что график прокручивается, а надпись стоит на месте (типа указана точка вывода надписи)....

Незнаю насколько актуален вопрос но все просто!
у TChart есть методы для осей, которые возвращают экранные координаты в облосте TChart на основе реальных координат
Тем самым зная координаты в той системе в кот работаешь можешь получить в экранных...
И перемещение заработает...
Код

void __fastcall TfmMain::Chart1AfterDraw(TObject *Sender)
{
    double x,y;
    x=Chart1->BottomAxis->CalcPosValue(-25);
    y=Chart1->LeftAxis->CalcPosValue(70);
}


(координата в пикселах в облости TChart)=TChart->ось->CalcPosValue(координата в твоей координатной системе);
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




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


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

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