Redraw

Автор Тема: Redraw  (Прочитано 14825 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Sergey_KАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 2
Re: Redraw
« Ответ #15 : 02-04-2020, 14:43:29 »
WM_PAINT не только для redraw

WM_PAINT, как я понимаю, для обновления экрана. Т.е. возможно срабатывание и для regen. Регенерация фиксируется реактором. Остаётся - redraw.
Для чего ещё?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Redraw
« Ответ #16 : 02-04-2020, 15:02:05 »
Для чего ещё?
Да любое изменение на экране (изменение примитивов, появление ручек и т.д.) должно вызывать WM_PAINT
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Sergey_KАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 2
Re: Redraw
« Ответ #17 : 02-04-2020, 15:36:59 »
Да любое изменение на экране (изменение примитивов, появление ручек и т.д.) должно вызывать WM_PAINT
Должно, но не обязано.
WM_PAINT вызывается только при изменении размеров окна документа. В остальных случаях видимо действует внутренняя система сообщений adsk, по этому, выходит, что ловить событие redraw с помощью стандартного обработчика событий - занятие бесперспективное.
В консерватории нужно что то менять или иметь доступ к системе сообщений adsk

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Redraw
« Ответ #18 : 02-04-2020, 15:50:10 »
Sergey_K,
Значит у тебя остаётся AcEdInputContextReactor::beginQuiescentState - нормальное место для отрисовки временной графики. Ну или использовать AcGiDrawableOverrule
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Sergey_KАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 114
  • Карма: 2
Re: Redraw
« Ответ #19 : 02-04-2020, 16:10:47 »
остаётся AcEdInputContextReactor::beginQuiescentState - нормальное место для отрисовки временной графики
Если отфильтровать ненужные срабатывания на ввод из командной строки - возможно. Остаётся определиться, с командной строкой