Страница 1 из 1

Элементы графики

Добавлено: 12 Сентябрь 2005, 9:34
AVA
Создан элемент CREATE:LINE
При уменьшении значений его свойств prop:xpos и prop:ypos
остается след в виде точек на конце элемента
При увеличении этих координат следа нет
Проверено в С55ЕЕ, С61ЕЕ, С62ЕЕ (ABC)
В чем причина?
След исчезает при возврате фокуса окну, при раскрытии окна в полный экран. Как убрать след?

Добавлено: 12 Сентябрь 2005, 10:18
softcreator
для начала выставить PROP:Buffer для окна в 1.
ну или радикально - перерисовать через API

Добавлено: 12 Сентябрь 2005, 10:38
Гость
Установка PROP:Buffer не помогла

Добавлено: 12 Сентябрь 2005, 12:20
softcreator
ну тогда api-шный RedrawWindow должен помочь

Добавлено: 12 Сентябрь 2005, 14:36
AVA
Радикальных методов не нужно, т.к. BLANK убирает след (оказалось, он работает не так, как написано в Help). Привожу готовый пример.

program
map.

feq long
spin short
Window WINDOW('Caption'),CENTER,SYSTEM,GRAY
SPIN(@n-3b),AT(10,10,35,10),USE(spin)
STRING(''),AT(55,10,35,10),USE(?String1)
END
CODE
open(window)
feq=create(0,CREATE:LINE)
feq{PROP:Xpos} = 100;feq{PROP:Ypos} = 50
feq{PROP:width} = -30;feq{PROP:height} = 30
unhide(feq)
accept
case event()
of event:NewSelection
feq{prop:Xpos}=feq{prop:Xpos}+spin
?String1{prop:text}='Xpos: '&feq{prop:xpos}
clear(spin)
! line(80,50,0,0) ! без этой строки BLANK не работает
BLANK
end
end

При смещении влево остается след от начала отрезка. В чем причина?
BLANK работает только при наличии нарисованных линий, и только до их максимальных начальных позиций.

Добавлено: 16 Сентябрь 2005, 16:04
AVA
Если решения этой проблемы нет, то может кто-нибудь подскажет, как удобнее всего решить следующую задачу.
Нужно представить данные в виде линейных графиков (с осями координат и подписями). Графики нужно сдвигать и масштабировать. Перерисовывать каждую линию и хранить ее координаты - единственный вариант?

Добавлено: 16 Сентябрь 2005, 21:11
Дед Пахом
Ну ocx же полно в инете на эту тему. Даже в CW2 я пользовал какой-то паскалевский vbx для 16-ти бит, который всю графику и так, и сяк, и об косяк показывал. А уж сейчас-то этого добра...

Добавлено: 19 Сентябрь 2005, 7:59
AVA
Показывать графику недостаточно. Показать я могу в Excel.
Графики нужно сдвигать и масштабировать нужным мне способом, меняя тем самым исходные данные.

Добавлено: 19 Сентябрь 2005, 8:51
Дед Пахом
От сдвигания и масштабирования исходные данные не меняются вообще-то.
Хорошо, с такими начальными условиями список подходящих ocx уменьшился на 1. Теперь их 999,999

Добавлено: 19 Сентябрь 2005, 10:27
lsgsoftware
А не хочешь поюзать графическую библиотеку клары. Начиная с с60
она входит в состав клары и бесплатно. На задаче, похожей на твою,
у меня вроде бы все получилось.

Добавлено: 19 Сентябрь 2005, 10:32
Admin
Очень классный OCX, но как и все хорошее за деньги ...
http://www.steema.com