Здравствуйте!
Написал программу, которая считывает данные из файла, обрабатывает их и хранит в массиве. Хочу нарисовать график. Достал TeeChart Pro (TeeChart.ocx). Слышал, что можно визуализировать данные при помощи ActiveX компонента). Но опыта работы с ActiveX не имею.
Подскажите, пожалуйста, как это возможно реализовать, т.е. соединить воедино мою программу и ActiveX компонент. Где можно почитать о применении ActiveX в программах расчета, построения графиков и визуального отображения данных?
Заранее благодарю!
ciuser wrote:
> Здравствуйте! > Написал программу, которая считывает данные из файла, обрабатывает их и хранит в массиве. Хочу нарисовать график. Достал TeeChart Pro (TeeChart.ocx). Слышал, что можно визуализировать данные при помощи ActiveX компонента). Но опыта работы с ActiveX не имею.
Здравствуйте, Максим!
Все это интересно и замечательно, но продемонстрированными на приведенных сайтах возможностями обладает довольно популярный пакет программ MATLAB, которым я раньше пользовался. Я хочу написать свою программу построения графиков, привязываясь к TeeChart. Приложение Win32 API, которое прочитывает файл данных на который я указываю, а затем выводит определенные параметры в окно в виде графиков. Задаю подобный вопрос, поскольку имею нулевой опыт работы с ActiveX. Хотелось бы услышать совет именно по этому поводу, этой задаче.
Спасибо
Здравствуйте, ciuser, Вы писали:
C>to MaximE:
C>Здравствуйте, Максим! C>Все это интересно и замечательно, но продемонстрированными на приведенных сайтах возможностями обладает довольно популярный пакет программ MATLAB, которым я раньше пользовался. Я хочу написать свою программу построения графиков, привязываясь к TeeChart. Приложение Win32 API, которое прочитывает файл данных на который я указываю, а затем выводит определенные параметры в окно в виде графиков. Задаю подобный вопрос, поскольку имею нулевой опыт работы с ActiveX. Хотелось бы услышать совет именно по этому поводу, этой задаче. C>Спасибо
1) сначала teeChart.ocx нужно зарегестрировать. см. regsvr32.exe
2) генерите новое приложение в вижуале с галочками "ActiveX controls"
3) в редакторе диалога щёлкаете правой кнопкой мыши, выбираете "Insert ActiveX Control"
4) выбираете из списка ваш
5) он вставляется в форму, вы настраиваете его свойства
6) сохраняете проект, и перекомпилируете — в результате генерируется хидер файл для работы с вашим ActiveX
1) сначала teeChart.ocx нужно зарегестрировать. см. regsvr32.exe
2) генерите новое приложение в вижуале с галочками "ActiveX controls"
3) в редакторе диалога щёлкаете правой кнопкой мыши, выбираете "Insert ActiveX Control"
4) выбираете из списка ваш
5) он вставляется в форму, вы настраиваете его свойства
6) сохраняете проект, и перекомпилируете — в результате генерируется хидер файл для работы с вашим ActiveX
Спасибо!!!
Я прошел по шагам, которые вы мне подсказали. Диалог с графической областью для построения получил, скомпилировал. Вопрос: что дальше?
Я не использую ни один из перечисленных в
IDD_MYACTX_DIALOG / Properties / Tee Chart Pro Editor / Edit Chart... / Series / Data Source
источников данных типа No Data, Random Values, Function или ODBC Database.
Мой источник данных массив of double, формируемый моей функцией. Как связать в этой программе (проекте) мою функцию и этот диалог так, чтобы на графике были значения элементов массива?
Сам пока не сумел понять... может вы подскажете...
C>Спасибо!!!
C>Я прошел по шагам, которые вы мне подсказали. Диалог с графической областью для построения получил, скомпилировал. Вопрос: что дальше? C>Я не использую ни один из перечисленных в C>IDD_MYACTX_DIALOG / Properties / Tee Chart Pro Editor / Edit Chart... / Series / Data Source C>источников данных типа No Data, Random Values, Function или ODBC Database. C>Мой источник данных массив of double, формируемый моей функцией. Как связать в этой программе (проекте) мою функцию и этот диалог так, чтобы на графике были значения элементов массива? C>Сам пока не сумел понять... может вы подскажете...
Получил класс для работы с этим контролом?
Для седьмой студии — правый клик на проекте в class view->add class->MFC->MFC->Add class from ActiveX control
выбираешь свой ocx файл и получашь сгенерированый класс.
Дальше смотри документацию по работе с этим классом или действуешь методом тыка, если ее нет
Alexeib wrote:
> Для седьмой студии — правый клик на проекте в class view->add class->MFC->MFC->Add class from ActiveX control > выбираешь свой ocx файл и получашь сгенерированый класс.
Здравствуйте, ciuser, Вы писали:
C>Спасибо!!!
C>Мой источник данных массив of double, формируемый моей функцией. Как связать в этой программе (проекте) мою функцию и этот диалог так, чтобы на графике были значения элементов массива? C>Сам пока не сумел понять... может вы подскажете...
У вас уже есть хидер для работы с объектом. Я могу с вероятностью 85% сказать, что там есть методы для ручного заполнения диаграммы данными.
Если это такой же TeeChart как в делфике был — то оно там точно есть.
Найдите справку по объекту, или, как вам уже посоветовали, методом тыка.
Я думаю там несложно будет разобраться.
Здравствуйте, Alexeib, Вы писали:
A>Получил класс для работы с этим контролом? A>Для седьмой студии — правый клик на проекте в class view->add class->MFC->MFC->Add class from ActiveX control A>выбираешь свой ocx файл и получашь сгенерированый класс. A>Дальше смотри документацию по работе с этим классом или действуешь методом тыка, если ее нет
Классов у меня 3! А именно: CAboutDlg, CMyActiveXApp, CMyActiveXDlg. Насколько я понимаю среди них нет класса для управления ActiveX контролом. Или я не понимаю. Прошу прощения. Может еще раз объясните? Пользуюсь, кстати, 6-ой версией.
Здравствуйте, MaximE, Вы писали:
ME>Alexeib wrote:
>> Для седьмой студии — правый клик на проекте в class view->add class->MFC->MFC->Add class from ActiveX control >> выбираешь свой ocx файл и получашь сгенерированый класс.
ME>[оффтопик] ME>http://www.faqs.org/docs/artu/gui-programmer.html
ME>-- ME>Maxim Yegorushkin
Здравствуйте, ciuser, Вы писали:
C>Здравствуйте, Alexeib, Вы писали:
A>>Получил класс для работы с этим контролом? A>>Для седьмой студии — правый клик на проекте в class view->add class->MFC->MFC->Add class from ActiveX control A>>выбираешь свой ocx файл и получашь сгенерированый класс. A>>Дальше смотри документацию по работе с этим классом или действуешь методом тыка, если ее нет
C>Классов у меня 3! А именно: CAboutDlg, CMyActiveXApp, CMyActiveXDlg. Насколько я понимаю среди них нет класса для управления ActiveX контролом. Или я не понимаю. Прошу прощения. Может еще раз объясните? Пользуюсь, кстати, 6-ой версией.
Да, нет классов для работы с контролом. смотри статью в msdn The ABCs of MFC ActiveX Controls
Здравствуйте, Chez, Вы писали:
C>У вас уже есть хидер для работы с объектом. Я могу с вероятностью 85% сказать, что там есть методы для ручного заполнения диаграммы данными.
C>Найдите справку по объекту, или, как вам уже посоветовали, методом тыка. C>Я думаю там несложно будет разобраться.
Еще раз здравствуйте!
А нет ли у вас описания какого-либо для TeeChart или "вспомогательного материала" для осознания предназначения методов и классов, используемых в этом TeeCharte. На счет "несложно"- оно верно, но их так много и я, честно говоря, не во свех могу разобраться, глядя на реализацию каждого...
Спасибо
Здравствуйте, ciuser, Вы писали:
C>Еще раз здравствуйте! C>А нет ли у вас описания какого-либо для TeeChart или "вспомогательного материала" для осознания предназначения методов и классов, используемых в этом TeeCharte. На счет "несложно"- оно верно, но их так много и я, честно говоря, не во свех могу разобраться, глядя на реализацию каждого... C>Спасибо
Вы можете покопаться здесь, но не факт, что это вам поможет.
справка по TeeChart-у есть в Delphi и Builder-e.
если у вас нет оных, могу вам выслать почтой (файл teechart.hlp, а не delphi ).
Если вы ещё не сделали классы:
Для того чтобы сгенерить классы для работы с ним, в VC6 можно пуступить так:
1) заходите в ClassWizard
2) вкладка Member Variables
3) выбираете из списка Control IDs ID вашего ActiveX
4) Add Variable
5) МС выдаёт сообщение "тра-ля-ля я щас сгенерю вам врппер классы, патамуша их ещё у вас нет"
6) после ввода имени переменной VC создаст вам враппер класс, добавит в проект, включит #include на него в хидере диалога, и, возможно, упадёт
Здравствуйте, Chez, Вы писали:
C>Вы можете покопаться [url=http://www.steema.com/products/teechart/teechartindex.htm] ... -- ПОКОПАЮСЬ
C>справка по TeeChart-у есть в Delphi и Builder-e. C>если у вас нет оных, могу вам выслать почтой (файл teechart.hlp, а не delphi ). -- Я БЫЛ БЫ ВАМ ОЧЕНЬ ПРИЗНАТЕЛЕН. ЕСЛИ НЕ ТРУДНО ВЫЛОЖИТЕ ЭТОТ ФАЙЛ НА http://www.webfile.ru И СООБЩИТЕ FileID. C>Если вы ещё не сделали классы:... -- СДЕЛАЛ.