FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9210
Вход
Отображение графика на форме посредством элемента управления MS Chart 2.0

Всегда хотелось иметь в приложениях возможность отображения графиков. На данном сайте есть решение, которое позволяет делать это на базе Excel. Но ведь Excel использует тот же самый Ms Chart 2.0!!! Так зачем же это промежуточное звено Excel, которое постоянно виснет, глючит и не хочет работать? Вот эту идею я и реализовал в этом классе. Графики строятся непосредственно в элементе Ms Chart 2.0. Безусловно, реализованы не все возможности Ms Chart, но концепцию советую посмотреть.


 
Прислал: Шулындин Кирилл   Категория: Интерфейс


Отображение графика на форме посредством элемента управления MS Chart 2.0

Есть класс, базирующийся на ActiveX элементе управления. Элемент управления называется MS Chart 2.0 и обычно три файла, которые необходимы для работы этого элемента, находятся в каталоге Windows\System: mschrt20.dep, mschrt20.ocx, mschrt20.srg.
Для того, чтобы начать работу на конкретной станции с классом mschart, надо этот элемент управления зарегистрировать с помощью утилиты regsvr32, которая находится в том же каталоге.

Потом ставите на форму элемент класса MSChart и работаете с ним следующими методами:
1. InitChart (cAlias, cFieldsList, cHeadersList, cColorField) – инициализация графика
Calias – алиас таблицы или курсора с данными
CFieldsList – список полей (через ‘\’) для вывода в графике - чтобы можно было передавать не просто поля, но и выражения типа IIF
CHeadersList – список заголовков (подписей) на графике, тоже через ‘\’
CColorField – имя поля в таблице или курсоре alias, куда класс будет писать цвет конкретной линии. Это для того, чтобы отражая данные таблицы в гриде, вы могли подсветить каждую строку своим цветом, соответствующим цвету линии на графике.

Например:

THISFORM.Grd1.SETALL("dynamicForeColor", "color", "COLUMN") - в форме есть грид grd1, в котором отображаются названия позиций товаров цветом, который задан полем color

thisform.oleAmountChart.InitChart ('vCharts','m1\m2\m3\m4’,’month1\month2\month3\month4’,'color') – вызываем метод initChart, в который передаем названия таблицы, числовых полей m1..m4, названия заголовков month1..month4 и название поля цвета color

2. Requery() – перезапрос графика, после того, как данные в курсоре или таблице alias обновились.

Например:

thisform.oleAmountChart.Requery() – перезапрашиваем график

И еще у класса есть три логических свойства (точнее, свойств больше, но вам нужны только эти три):
1. lAverage – строить средний график;
2. lSummary – строить суммовой график;
3. lShowLabels – строить на графике цифры – значения в каждой точке графика.

После изменения этих флагов надо вызвать метод Requery.

Если есть какие-либо дополнения или вопросы - пишите!

 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.78) Вложение [5.11]kb
Дополнения пользователей
Отображение графика на форме посредством элемента управления MS Chart 2.0
[+][?]
w3d
15.11.06 09:15:00

Не рисует....
Пустой график получается.
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика