| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > создание собственной подсказки

создание собственной подсказки

Ответ
Поиск в этой теме
Непрочитано 16.10.2012, 11:55
создание собственной подсказки
gool
 
Регистрация: 15.11.2007
Сообщений: 52

Как создать подсказку для блока, например, которая будет выводиться при наведении на этот блок? Подобная тема поднималась раньше, но там упоминаются команды note и T2N, а ссылки, где их взять - недоступны. Может, у кого есть?
Спасибо
Просмотров: 18787
 
Непрочитано 18.09.2014, 19:49
#61
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Появилась все-таки подсказка, только она появляется при вызове следующей команды, а не сразу при вызове, причем поверх подсказки динамического ввода, поверх даже этого окна браузера. И добросовестно не исчезает, пока по окошку Автокада не отбегаешь заданное число единиц. Я еще от души, 5000 задал
skkkk вне форума  
 
Непрочитано 18.09.2014, 21:42
#62
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Забавно конечно :-) Но непонятно, почему так. В 2014 очень хорошо работает.
P.S.
Установил дома 2011 версию, проверил - все в порядке. Пробуйте менять аргументы и убедитесь, что нормально работает. Длину "пробега" можно вычислять в LISP коде исходя из масштаба чертежа и пр. факторов. Если нужно экстренно завершить показ - пользуйтесь второй функцией.
Убрал у окошка функцию "поверх всех окон", немного причесал методы.
Вложения
Тип файла: zip Acad2011x64.zip (4.2 Кб, 23 просмотров)
Тип файла: zip Acad2011x86.zip (4.3 Кб, 19 просмотров)
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)

Последний раз редактировалось Do$, 18.09.2014 в 22:45.
Do$ вне форума  
 
Непрочитано 18.09.2014, 23:35
#63
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Offtop: Do$, может, на "ты"? Я еще не очень старый
Проверил еще на одном 2011-м - то же самое. У меня выходит как на скринах: подсказка появляется при повторе команды, которая была запущена перед (do$-show-cursor-message "Привет мир! 100) или при начале выбора рамкой. Как только не менял аргументы, все также.
Может, все-таки сверить переменные? Можешь, пожалуйста, сохранить все из 2011-го (или хотя бы из 2014-го) и сюда приложить (команда _sysvdlg)?
Я сравню их в блокноте со своими.
Да, и спасибо тебе огромное, Do$, в любом случае. Offtop: Буду в Питере - с меня ящик
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок.PNG
Просмотров: 52
Размер:	9.3 Кб
ID:	135363  Нажмите на изображение для увеличения
Название: Снимок2.PNG
Просмотров: 43
Размер:	8.9 Кб
ID:	135364  

Последний раз редактировалось skkkk, 19.09.2014 в 00:03.
skkkk вне форума  
 
Непрочитано 19.09.2014, 10:20
#64
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Да, есть такая беда. Окошко появляется не сразу после вызова команды, а только если хотя бы чуть-чуть сдвинуть курсор. В тестах это незаметно, только когда "в боевых условиях" используешь. Решение есть, но имеется некоторая проблема с вычислением положения подсказки, если курсор не двигается. Попробую разобраться с ней.
Точно тебе говорю, переменные тут не при чем
Offtop: Ящика много, можно просто по бутылочке пропустить в рамках AU2014
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 19.09.2014, 11:12
#65
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Цитата:
Сообщение от Do$ Посмотреть сообщение
Окошко появляется не сразу после вызова команды, а только если хотя бы чуть-чуть сдвинуть курсор.
В том-то и дело, что не достаточно просто сдвинуть курсор. Нужно вызвать другую команду или начать выбор рамкой. Только тогда оно появляется. А я бы хотел, чтоб оно появлялось у курсора при неактивной команде. Вроде, на твоем видео так и есть. Я не умею делать видеозахват. Какая это прога у тебя делает?
skkkk вне форума  
 
Непрочитано 19.09.2014, 13:40
#66
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Смотря еще как ты это в LISP прописал...
В общем, получилось добиться корректного поведения благодаря этим ресурсам:
http://www.theswamp.org/index.php?topic=43077.0
http://bushman-andrey.blogspot.ru/2012/10/autocad.html
Добавил 2 аргумента - отступы от курсора влево и вниз в пикселях:
Код:
[Выделить все]
 (defun c:cursortest ()
  (setq pt1 (getpoint "\nУкажите первую точку: "))
  (setq pt2 (getpoint pt1 "\nУкажите вторую точку: "))
  (entmakex (list (cons 0 "Line")
		  (cons 10 pt1)
		  (cons 11 pt2)
	    )
  )
  (do$-show-cursor-message "Построена линия" (/ (getvar "viewsize") 2) 25.0 25.0)
)
https://screencast.autodesk.com/main...b-ef4be83fbcb2
Цитата:
Я не умею делать видеозахват. Какая это прога у тебя делает?
Есть много вариантов, в том числе и бесплатных. Их легко найти в гугле Есть даже онлайн-видеозахватчики.
Я пользуюсь специальным приложением от Autodesk Screencast
Вложения
Тип файла: rar Acad2011x86.rar (3.8 Кб, 17 просмотров)
Тип файла: rar Acad2011x64.rar (3.7 Кб, 19 просмотров)
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)

Последний раз редактировалось Do$, 19.09.2014 в 14:00.
Do$ вне форума  
 
Непрочитано 19.09.2014, 14:29
#67
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Цитата:
Сообщение от Do$ Посмотреть сообщение
Смотря еще как ты это в LISP прописал...
Да, собственно, в лисп еще не прописывал, а пока просто вбивал в комстроку, но рассчитывал именно по такому принципу прописывать.
Загрузил последнюю сборку. Offtop: Кстати, у меня х64 система, неудобно тебя "заставлять" два файла компилировать, ты уж прости, что сразу не уточнил, ступил.
Теперь подсказка появляется сразу, но за курсором не бегает, а начинает бегать только если запустить другую команду или рамку выбора. А по-хорошему, нужно, чтоб при нажатии любой кнопки (мыши, клавиатуры) она исчезала.
Почему, интересно, так? Весь мозг сломал, чем могут отличаться два 2011-х Автокада? Или системы? У меня Win7 Ultimate x64.
skkkk вне форума  
 
Непрочитано 19.09.2014, 15:02
#68
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


За курсором не бегает? Хм... Надо видео.
Я не компилирую 2 раза, настроил так, что сразу под 3 версии делаются сборки (2011 х86, 2011 х64, 2014 х64).
А если те же самые манипуляции делать, что у меня на видео? Так же отрабатывает или нет?
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 19.09.2014, 15:59
#69
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Цитата:
Сообщение от Do$ Посмотреть сообщение
А если те же самые манипуляции делать, что у меня на видео? Так же отрабатывает или нет?
Нет. Делаю все то же, появляется после отрисовки линии подсказка и стоит на месте. Курсор - квадрат с крестом, ходит как положено, но подсказка стоит. Если кликаю по экрану, левой кнопкой, начинается рамка - подсказка побежала, за курсором, накрывая надпись "Противоположный угол". Завершаю выбор рамкой кликнув еще раз левой - подсказка опять замирает. То же самое, если вместо рамки команда, например, та же _LINE. В предыдущих сборках подсказка даже не появлялась сразу - только после начала выбора рамкой или вызова команды.
Видео смогу позже только снять
skkkk вне форума  
 
Непрочитано 19.09.2014, 16:05
#70
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


А вот тут уже может быть какая-то переменная... Навскидку не помню, но вроде есть какая-то, которая отслеживание курсора регулирует. У меня AutoCAD 2011 только на домашнем компьютере, так что только вечером смогу потестировать на нем.
Хотя, появилась и другое предположение. В общем, дома буду проверять.
Придумал еще интересную фишку - управление расположением подсказки с помощью знаков аргументов отступа.
(do$-show-cursor-message "Построена\nлиния" 50.0 20.0 20.0) - вид подсказки '1' (см. рисунок)
(do$-show-cursor-message "Построена\nлиния" 50.0 -20.0 20.0) - вид подсказки '2'
(do$-show-cursor-message "Построена\nлиния" 50.0 -20.0 -20.0) - вид подсказки '3'
(do$-show-cursor-message "Построена\nлиния" 50.0 20.0 -20.0) - вид подсказки '4'
Тогда можно будет располагать ее так, чтобы не перекрывать другие полезные окна.
Миниатюры
Нажмите на изображение для увеличения
Название: ToolTipPosition.png
Просмотров: 42
Размер:	8.5 Кб
ID:	135420  
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)

Последний раз редактировалось Do$, 19.09.2014 в 16:31.
Do$ вне форума  
 
Непрочитано 19.09.2014, 17:23
#71
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Цитата:
Сообщение от Do$ Посмотреть сообщение
Придумал еще интересную фишку - управление расположением подсказки с помощью знаков аргументов отступа.
Так весь смысл в том, чтоб эта подсказка была в тот момент, когда не активна ни одна команда и у курсора ничего нет. В остальных случаях подсказку можно вызвать лиспом всегда: будь-то запрос точки, строки, объекта, объектов и прочего. А то, что она сможет менять положение, это хорошо. Еще бы вывести в аргументы цвет и высоту текста и окна... Было б вообще супер!
skkkk вне форума  
 
Непрочитано 19.09.2014, 20:53
#72
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от skkkk Посмотреть сообщение
Теперь подсказка появляется сразу, но за курсором не бегает, а начинает бегать только если запустить другую команду или рамку выбора.
Цитата:
Сообщение от Do$ Посмотреть сообщение
В общем, дома буду проверять.
Проверил. Автокад 2011 сп 2 x64 русский. Виндовс 7 x64 профессиональная.
https://screencast.autodesk.com/main...1-4651571e3a39
Проблем нет никаких
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 20.09.2014, 00:33
#73
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Удалил все из автозапуска, думал, конфликтует что-либо - не помогло. Проверил на одном ноуте, там 2011-й с настройками по умолчанию - работает на ура!!! На том компе, что я пробовал, настройки были импортированы с моего компа. Значит дело в настройках. Или переменных. Сохранил список переменных и там и там, вывел на сравнение в Notepad++. Отличаются порядка 50-ти переменных. Сейчас исключу те, которые знаю, остальные попробую поочередно менять. Пока больше мыслей никаких нет.
Вот и думай потом, как перелезать на NET... С лиспами очень редкий вариант, что не заработает в какой-то другой версии, а тут вон ведь как...

----- добавлено через ~42 мин. -----
Нашел!!!
Эта переменная ROLLOVERTIPS.
Я ролловеры отключаю за ненадобностью. Ну не нужны они. Малоинформативные на мой взгляд.
Можно перед вызовом ее включать, затем сразу отключать обратно. Здорово! Не, это точно ящик
Просьбы по доработке:
1. Чтоб окошко пропадало при нажатии чего угодно, а не только по факту пройденного пути. Можно конечно, его спрятать за подсказкой динввода, благо оно стало не поверх всех окон.
2. Добавить в аргументы цвет и размер текста и рамки - это если возможно.
Спасибо, Do$!!!

----- добавлено через ~43 мин. -----
Пойду спать довольный
skkkk вне форума  
 
Непрочитано 20.09.2014, 09:48
#74
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


skkkk, отличная работа
Очень странно, конечно, что такая "второсортная" настройка влияет на такой важнейший функционал, как отслеживание положения курсора. Надо будет проверить это на последних версиях...
По доработке.
1. Событие "нажатие чего угодно" я не смог пока отследить. Как альтернатива - событие запуска команды или таймер. Подойдет?
2. Это, думаю, получится.
В общем, попробую в ближайшее время доработать, но не знаю когда, ибо выходные и все такое
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 21.09.2014, 00:47
#75
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,653


Цитата:
Сообщение от Do$ Посмотреть сообщение
Очень странно, конечно, что такая "второсортная" настройка влияет на такой важнейший функционал, как отслеживание положения курсора.
Я так понял, созданное тобой окошко использует те же методы, что и окошко ролловеров. Цвет у них один. Как оказалось, и переменная одна за них отвечает. Только странно, что при отключенной переменной окошко все равно появляется, только ведет себя неадекватно. В общем, я поснимал в адаптации все галочки на ролловерах, а переменную включил. Теперь все как надо.
skkkk вне форума  
 
Непрочитано 21.09.2014, 11:57
#76
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Тут такое дело... Решил исследовать обнаруженную проблему. Но у меня фокус с ROLLOVERTIPS не воспроизводится даже в 2011
https://screencast.autodesk.com/main...0-db8136da71c3
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 21.09.2014, 13:35
#77
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,408
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Do$ Посмотреть сообщение
Тут такое дело... Решил исследовать обнаруженную проблему. Но у меня фокус с ROLLOVERTIPS не воспроизводится даже в 2011
Сравните установленные SP для AutoCAD 2011.
Александр Ривилис вне форума  
 
Непрочитано 22.09.2014, 12:19
#78
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Сравните установленные SP для AutoCAD 2011.
Цитата:
Сообщение от Do$ Посмотреть сообщение
Автокад 2011 сп 2 x64 русский. Виндовс 7 x64 профессиональная.
Александр Наумович, это предположение, или Вам известны какие-то проблемы с обновлениями 2011 версии?
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 22.09.2014, 13:23
#79
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,408
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Do$ Посмотреть сообщение
Александр Наумович, это предположение, или Вам известны какие-то проблемы с обновлениями 2011 версии?
Это интуиция помноженная на смутное воспоминание об исправленной ошибке в AutoCAD 2011. Кстати, тут неплохо бы уточнить используется ли чистый AutoCAD или вертикалка - это тоже может быть существенным.
Александр Ривилис вне форума  
 
Непрочитано 22.09.2014, 13:49
#80
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Да обычный автокад, не вертикалка. Единственое, я не ручаюсь, что у меня дистрибутив официальный. Был уверен, что официальный можно скачать не позднее 2012 версии, поэтому устанавливал с диска из "старых запасов", на котором было указано "2011SP2RUS"
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > создание собственной подсказки

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание собственной панели инструментов к AutoCAD-у Supermax Программирование 43 18.11.2009 12:01
Создание собственной системы координат для растрового изображения зюс AutoCAD 4 06.05.2009 21:52
Создание собственной текстуры и добавление в Revit Scrubber Revit 14 05.02.2009 15:19
создание собственной подписи??? Робин Бобин Разное 36 17.12.2007 17:15
Создание всплывающей подсказки? draft AutoCAD 5 08.01.2007 17:15