|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Вывод всплывающего комментария ToolTip под курсор мыши:
Руководитель фирмы
Москва
Регистрация: 28.03.2007
Сообщений: 1,831
|
||
Просмотров: 7367
|
|
||||
Ну, к примеру, можно написать функцию, которая читает имена блоков, когда ты в них тыкаешь и вот такой красивой картинкой их высвечивает. Можно ругательные сообщения выкидывать при не корректных действиях. Да, по моему, я ее где-то встречал, да забыл где напрочь. Вот опять нашел.
|
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
"Тыкая" в объект так просто ничего не сделаешь. Надо (ЯТД) рисовать реактор на изменение набора (это как минимум), скорее всего, понадобится отслеживать координаты указателя мыши, плюс до хрена всякого разного. ИМХО достаточно обойтись простой гиперссылкой. Не фонтан, конечно, средство, но уж лучше чем с нуля самостоятельно что-то делать.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Эта штука выводит надпись в то место, в котором стоит курсор, а поскольку тыкая в объект курсор находтся именно на нем, то и надпись появится на объекте. Так что координаты отслеживать не надо. Гиперссылка появляется автоматом, а это не всегда надо. Скорее всего вообще не надо. Да и тухнет, как только слазишь с объекта. А тут появляется только при срабатывании лиспа, то есть при заранее запланированных действиях и пропадает, только если еще раз ткнуть курсором в другое место. Я с аргументами еще не разобрался, но думаю, что со временем разберусь.
|
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Тебе объект надо создавать когда? Правильно, когда ты "тыкнул" на объект. То есть реактор на изменение набора. При всем при этом создавать СОМ-объект внутри реактора нельзя, т.к. после 2-3 сотен таких созданий/удалений (объект надо удалять, это обязательно!) AutoCAD может сказать "ква". Обязательно возникнет вопрос о корректном удалении объекта - это же надо делать в момент закрытия файла, то есть прописывать еще и командные реакторы. Головняк...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Ай-яй-яй, яй-яй, яй-яй!
Никаких реакторов! ![]() Например: Есть функция, которая по указанию entsel реформирует указанный объект. Достаточно в конец функции дописать эти строки и после выполнения действия над объектом, рядом с объектом появится эта надпись, с содержимым, какое укажешь. Пропадает она автоматически, как только кликаешь мышкой или Esc. Последний раз редактировалось Supermax, 12.01.2008 в 15:40. |
||||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Такое впечатление, что никто не слышал о пакете BUBBLE от AsuniCAD. http://www.bubblecad.com/en/bubble.htm
|
|||
![]() |
|
||||
Цитата:
Посмотрел и сделал аналог на лиспе... |
||||
![]() |
|
||||
|
||||
![]() |
|
||||
Выносочка конечно хороша, что и говорить. Правда данные в ней мне незачем, но ничего. Только вот один не хороший момент всплыл. У меня модель очень большая с уймой внешних ссылок, я по ней поводил мышкой - кад слетел. Я еще раз загрузился, опять мышкой быстрое движение сделал и кад опять слетел. Удалил эту прогу и все стало на место. Глючит, однако.
Евгений, конечно, своей лиспиной не поделится. Очень-ца интересно, что у него в качестве поля выноски? Мое, или из dll-ки к этой bubble вытащил? |
||||
![]() |
|
||||
Цитата:
![]() Другими словами, я полностью отрисовываю фон и текст с помощью grvecs, а по поводу вывода текста, я не делал полного аналога, те.. у меня программа, которая может выдать в курсор всплывающее окно с текстом, фон и текст могут быть разных цветов.. Подсказка привязана к курсору, все всегда в плоскости экрана и не зависит от систем координат, текущего вида и.т.д... PS. Шрифт векторизовал пиксельный, 12 пунктов... На насыщенных чертежах, глюки отрисовки не видно. Если выводить подсказку с большим текстом (строчек 20, по пол экрана каждая), то при быстрых движениях мыши, подсказка, привязанная к курсору, заметно мигает... При выводе статичной подсказки, без перетаскивания, таких проблем нет... |
||||
![]() |
|
||||
Ты моей смерти хочешь? Ты хочешь сказать, что форму выноски, точнее ее контур лиспом сделал? Да еще и закрасил? И она бегает по предметам как bubble? А при этом можно и действия совершать?
Я понимаю конечно, что за каждым выложенным лиспом открываются разной мелкости и крупности профессиональные секреты, но ведь потребность в прогаммисте возникает тогда, когда появляется необходимость в количестве, а не отнюдь не в качестве и гениальности требуемой работы. Да хоть все секреты выложи, а большую прогу написать не сможешь, поскольку для этого нужен кругозор и объем запомненных приемов. Этого можно достичь только длительной практикой. У тебя такая практика есть и на сайт ты ее при всем своем желании не выложишь. Так что делись .....! Удовлетвори любопытство. Пасалуста! |
||||
![]() |
|
||||
Давай подойдем к этому вопросу с другого конца...
Для начала, загляни по ссылке, эта старая темка. тут про grread много написано, сразу извиняюсь, все не по русски. Потом, обрати внимание на некоторые коды, которые отслеживают местоположение курсора и выводят в это место картинку, например часики: Код:
Кстати, эту плашку сразу можно использовать как прогресс бар, т.е. для индикации длительных процессов. Потом, денек посидишь, и у тебя будет некоторое количество символов, в пиксельных размерах. Например, я векторизовал 180 символов, причем в ручную, только горизонтальными линиями. Сразу советую брать шрифт с единым размером символов, например, я взял Fixedsys, привык к нему по лисп редактору. У него, при 12 кегле, каждый символ вписан в прямоугольник 8*16 пикселей. Короче, когда дойдешь до этого места, ты уже сам сможешь все сделать. Если не сможешь, выкладывай код, буду по коду советы давать... PS. если не веришь, что я это сделал, завтра на работе сделаю анимированный скриншот и выложу здесь. ![]() |
||||
![]() |
|
||||
Несколько уважаемых людей, написали такие программы на С++ и продают. Не ужели, я буду им перебегать дорогу?
Кстати, ты меня не очень верно понял, моя программа не исследует, что находится под курсором - это не сложно, но было не важно для меня. Моя программа может просто выводить подсказку в любое место с любым текстом. К тому же, я сам могу полностью рулить этим процессом, т.е. шрифт, текст, цвет, дополнительные значки, картинки и.т.д. внутри этой подсказки. Думаю, это для меня более ценно, чем видеть параметры элемента под курсором... |
||||
![]() |
|
||||
Часики безусловно крутые. Как сделать сплошной фон я понял. Как на него выводить текст - тоже.
Как отслеживаешь координаты курсора тоже понял. Но я бы просто создал объект техт на поле с простой полилинией и в цикле (как у тебя) менял бы им координаты вставки и поворот во всех трех осях, если 3D орбитом окно повернуто. Такой объект можно оставлять на месте куда кликнул, а потом опять переносить в другое место, меняя в самом тексте не только точки вставки и углы поворота, но и сам текст. Я обязательно попробую как-нибудь на днях. |
||||
![]() |
|
||||
Цитата:
![]() Ничего не надо выкладывать, все понятно... Если кто то заинтересуется, тоже разберется по оставленным подсказкам! А если разбираться не захочется, возиться некогда, то можно и прикупить - Лентяй ссылки дал. ![]() |
||||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Курсор мыши выходит за пределы экрана | dextron3 | Разное | 3 | 27.12.2007 17:26 |