Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Rus77
Зарегистрирован: 06.03.2006 Сообщения: 53
|
Добавлено: Чт Ноя 20, 2008 11:53 am Заголовок сообщения: Обновление элемента |
|
|
Задача в частности. Есть линия. Я ее преобразую в массив отрезков ("видимые", "невидимые"). После преобразования на чертеже меняю исходную линию на полученный массив (у меня это фрагмент). Меняю в классе при использовании ILocateCommandEvents интерфейса.
Вопрос. Почему у меня не обновляется элемент на виде? При скроллинге или "Обновить вид" - все нормализуется, появляется новый элемент, но сразу после отрисовки нового элемента на виде старый элемент видится поверх.
Цитата: |
Private Sub ILocateCommandEvents_LocateFilter(ByVal element As element, point As Point3d, Accepted As Boolean)
'MsgBox "ILocateCommandEvents_LocateFilter"
If flMode Then
objInters.setSourceElem element, False
' получение массива отрезков
Set curElems = objInters.getBackElement
' удаление старого элемента
element.Redraw msdDrawingModeErase
ActiveModelReference.RemoveElement element
' добавление нового
ActiveModelReference.AddElement curElems
curElems.Rewrite
curElems.Redraw msdDrawingModeNormal
' обновление всех видов
Application.RedrawAllViews msdDrawingModeNormal
' все равно не обновляется.....((((((((((((((((((((((
Else
objInters.setSourceElem element, True
flMode = Not flMode
End If
|
|
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Чт Ноя 20, 2008 1:02 pm Заголовок сообщения: |
|
|
Не совсем понятно что делает
Set curElems = objInters.getBackElement
curElems проверен?
С ним все в порядке? |
|
Вернуться к началу |
|
|
Rus77
Зарегистрирован: 06.03.2006 Сообщения: 53
|
Добавлено: Чт Ноя 20, 2008 4:54 pm Заголовок сообщения: |
|
|
objInters.getBackElement
Возвращается фрагмент, состоящий из отрезков исходной линии с разными стилями. Элемент в полном порядке. При обновлении окна появляется.
Проблема в том, что при добавлении элемента старый элемент остается видимым до переотрисовки вручную.
Что значит "в порядке"? Что может быть не так? Элемент формируется функцией CreateCellElement1.
Просто такое впечатление, что вид не обновляется.......почему - не пойму. Может переменная какая влияет на это? |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Пт Ноя 21, 2008 8:29 am Заголовок сообщения: |
|
|
Rus77 писал(а): |
Что значит "в порядке"? Что может быть не так? Элемент формируется функцией CreateCellElement1. |
Я бы проверил все параметры элемента в Watch window
Если там все ОК, то действительно странно... |
|
Вернуться к началу |
|
|
|