С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Алексано
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 4
1

Vector Graphics ActiveX - множество ошибок при использовании

06.07.2014, 18:09. Просмотров 1053. Ответов 6
Метки нет (Все метки)

Уважаемые коллеги, кто-то работал с сием чудом?
Vector Graphics ActiveX
Сайт автора либо переехал, либо закрылся, в интернете ничего(
хотелось бы поболее разобраться с этим компонентом,
к сожалению прилагаемая документация очень краткая,
есть исходники на VB и C++.

В исходниках есть только создание прямоугольника, круга(дуги, сектора),
текста, и полилинии.
Пробую создать точку или линию, высыпает кучу ошибок, делаю все подобно((

Помогите информацией, кто, что знает
Кому интересна библиотека могу отправить на почту
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2014, 18:09
Ответы с готовыми решениями:

Перехват ошибок из собственного ActiveX ???
Написал свой ActiveX c функцией в событии Press Key. Теперь не могу понять,...

Ошибка при отладке ActiveX.DLL при передаче объекта форма
в вызывающем модуле Функция(Me) в ActiveX Sub Функция(frm as Object)...

Нужно изменять размер шрифта в ActiveX в зависимости от размера самого ActiveX
Уважаемые, обратите пожалуйста внимание на вчерашний постинг под сабжем...

Не открывается окно вывода при использовании graphics.h
скажите, пожалуйста где ошибка, почему не открывается окно вывода. Что...

Косяк со шрифтами в Word при использовании ActiveX
Добрый день! Мучаюсь не один день, прошу помощи. Разрабатываю шаблон с...

6
The trick
Модератор
7386 / 2651 / 759
Регистрация: 22.02.2013
Сообщений: 3,828
Записей в блоге: 76
07.07.2014, 02:53 2
Привет, скинь либу сюда.
0
Алексано
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 4
07.07.2014, 09:54  [ТС] 3
Vector.zip
Вот всё, что есть
0
The trick
Модератор
7386 / 2651 / 759
Регистрация: 22.02.2013
Сообщений: 3,828
Записей в блоге: 76
07.07.2014, 10:42 4
Лучший ответ Сообщение было отмечено Алексано как решение

Решение

За создание линии отвечает LineClass.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Dim WithEvents Doc As ProGrapherFoundation.Document
Dim WithEvents Wnd As ProGrapherFoundation.Window
 
Dim lincl As ProGrapherFoundation.LineClass
Dim ln  As ProGrapherFoundation.Line
 
Private Sub Form_Load()
    'Init variables
    bMove = False
    bLoad = False
 
    'Init Doc & Wnd
    Set Doc = ctrlProGrapher.Document
    Set Wnd = Doc.Window
    
    'Create Layer "Test"
    Doc.CreateLayer(, "Test").Active = True
    
    Set lincl = Doc.ActiveLayer.CreateClass(ciLine, Nothing)
    Set ln = lincl.Create
    ' Добавляем точки ломаной линии
    ln.AddNode 0.01, 0.01
    ln.AddNode 0.09, 0.05
    ln.AddNode 0.1, 0.08
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
    'Free Doc & Wnd
    Set Wnd = Nothing
    Set Doc = Nothing
End Sub
Как таковой точки нет (я не нашел), да и не бывает в векторной графике отображаемой точки, есть точка как координата (класс Point). Для рисования точки можешь использовать окружность:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Dim WithEvents Doc As ProGrapherFoundation.Document
Dim WithEvents Wnd As ProGrapherFoundation.Window
 
Dim arccl As ProGrapherFoundation.ArcClass, pt As ProGrapherFoundation.Arc
 
Private Sub Form_Load()
    'Init variables
    bMove = False
    bLoad = False
 
    'Init Doc & Wnd
    Set Doc = ctrlProGrapher.Document
    Set Wnd = Doc.Window
    
    'Create Layer "Test"
    Doc.CreateLayer(, "Test").Active = True
    
    Set arccl = Doc.ActiveLayer.CreateClass(ciArc, Nothing)
    
    CreatePoint 0.05, 0.009, vbRed
    CreatePoint 0.05, 0.08, vbBlue
    CreatePoint 0.09, 0.03, vbGreen
 
End Sub
 
' ÑîçäГ*ГҐГ¬ òî÷êó
Private Sub CreatePoint(ByVal X As Double, ByVal Y As Double, ByVal Color As Long)
    Set pt = arccl.Create(atSegment, X, Y, 0.0008, 0.0008, 0, 6.28)
    With pt
        .CustomDraw = True
        .Styles.SolidGround = True
        .Styles.Color = Color
        .Styles.NullBrush = False
        .Styles.NullPen = True
    End With
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
    'Free Doc & Wnd
    Set Wnd = Nothing
    Set Doc = Nothing
End Sub
3
Алексано
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 4
07.07.2014, 10:51  [ТС] 5
Спасибо, всё работает, правда точка нужна всё же как точка, класса точки тоже не нашел, переменная as point есть

Добавлено через 2 минуты
с другой стороны, придумаю с окружностью
0
The trick
Модератор
7386 / 2651 / 759
Регистрация: 22.02.2013
Сообщений: 3,828
Записей в блоге: 76
07.07.2014, 11:10 6
Алексано, так и придется, т.к. эта либа использует GDI+, а там нет такого понятия как точка. Можно нарисовать либо окружность единичного диаметра, либо прямоугольник 1х1 пиксель. SetPixel'я не предусмотрено в контроле, тем более с аниалиасингом.
1
Алексано
0 / 0 / 0
Регистрация: 06.07.2014
Сообщений: 4
07.07.2014, 11:12  [ТС] 7
Спасибо на этом, ошибку свою понял, тему можно закрывать.
0
07.07.2014, 11:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2014, 11:12

Access volation при использовании vector
Есть клас в котором обявлен вектор типа string. Когда я пытаюсь его вывести в...

Ошибка: Out of range при использовании <vector>
void quicksort() { long long arrsize; cout &lt;&lt; &quot;Enter amount of number&gt; &quot;;...

Ошибка при использовании vector<bool>
Текст ошибки (Visual studio 2013): Ошибка 2 error C2440: return: невозможно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru