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

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

Системные переменные и средняя кнопка мыши

Ответ
Поиск в этой теме
Непрочитано 14.06.2006, 11:15 #1
Системные переменные и средняя кнопка мыши
CB
 
Конструирование в области нефтеразведки
 
Гомель
Регистрация: 10.02.2006
Сообщений: 321

У меня такой вопрос
Меняется ли какая либо системная переменная ACAD'а в момент нажатия средней кнопки мыши?
Просмотров: 7366
 
Непрочитано 14.06.2006, 11:34
#2
_Andre_

механизатор
 
Регистрация: 28.12.2004
Самара
Сообщений: 312
<phrase 1=


Меняться вроде ничего не меняется, а вот за работу отвечает переменная MBUTTONPAN.
_Andre_ вне форума  
 
Автор темы   Непрочитано 14.06.2006, 12:10
#3
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Про переменную MBUTTONPAN я знаю, однако хотелось бы
чтоб и"_pan" работал и в тоже время lisp-программа, которая в это
время продолжает работать "знала", что средняя кнопка нажата
и выполнила другую работу.
CB вне форума  
 
Непрочитано 14.06.2006, 12:57
#4
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Таблицу со всеми переменными окружения можно скачать:

http://www.hyperpics.com/downloads/r...ck%20Guide.pdf

Правда, там только до 2005-го акада, зато есть доступные переменные из винды
Елпанов Евгений вне форума  
 
Непрочитано 14.06.2006, 13:03
#5
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,835
<phrase 1=


На соседнем форуме есть тоже неплохой "Справочник переменных" http://www.caduser.ru/acad/index.php
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Непрочитано 14.06.2006, 13:16
#6
Dym


 
Регистрация: 27.09.2005
Двинскъ
Сообщений: 586
Отправить сообщение для Dym с помощью Skype™


Цитата:
Про переменную MBUTTONPAN я знаю, однако хотелось бы
чтоб и"_pan" работал и в тоже время lisp-программа, которая в это
время продолжает работать "знала", что средняя кнопка нажата
и выполнила другую работу.
тут похоже какое-то прерывание нужно, его б приделать к коду крысову об "_pan" и "тяжелый слой". за код, кстати мерси ему большое
Dym вне форума  
 
Непрочитано 14.06.2006, 13:23
#7
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,772


Цитата:
<...> к коду крысову <...>
Интересно, к какому?
А насчет задачки... Думаю, что здесь лиспом не решить. Потому как mousereactor обрабатывает либо DoubleClick, либо RightClick - и без вариантов
Если такое возможно, то, наверное, не меньше чем ObjARX - там вроде как еще возможно отследить MOUSE_CLICK, но не уверен.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.06.2006, 13:55
#8
kha

BIM, С#, AutoCAD, LISP
 
Регистрация: 15.03.2006
Дуброво
Сообщений: 657


есть проги, которые начисто зарубают среднюю клавишу. Наверняка должен быть способ чтобы можно было её перехватить. Ко мне один раз обращались с траблом что пан не работает, оказалось что с драйверами к мышке поставлялась какая-то приблуда. С помощью неё можно было назначать функции на любые кнопки мышки
kha вне форума  
 
Непрочитано 14.06.2006, 14:31
#9
Dym


 
Регистрация: 27.09.2005
Двинскъ
Сообщений: 586
Отправить сообщение для Dym с помощью Skype™


2крЫс - там где слой со шпалами
Dym вне форума  
 
Непрочитано 14.06.2006, 15:10
#10
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,772


Хы... Тогда вопрос: допустим, я чего-то там рисую. _pan через удерживаемую среднюю кнопку. И как вызывать меню? Ведь окно када-то в таком случае блокируется от изменений, насколько я понимаю...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.06.2006, 16:07
#11
Dym


 
Регистрация: 27.09.2005
Двинскъ
Сообщений: 586
Отправить сообщение для Dym с помощью Skype™


отпустить среднюю кнопку. вопрос в том, что б твой лиспик заработал при нажатой средней кнопке.
Dym вне форума  
 
Непрочитано 14.06.2006, 16:52
#12
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,772


Идиотский вопрос: Хорошо, а как распознать, чего хочет юзер - панорамировать? Или вызвать меню? Если всегда меню, то тогда устанавливать mbuttonpan в 0 и править acad.mnu.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.06.2006, 17:49
#13
Dym


 
Регистрация: 27.09.2005
Двинскъ
Сообщений: 586
Отправить сообщение для Dym с помощью Skype™


упс, чёйто я тож не понял, надо с 3 постом подумать.. но меню вроде не требуеться. по мне так что б на время удержания среднего батона или колеса твой лиспик работал и радостно сталоб.
Dym вне форума  
 
Непрочитано 15.06.2006, 08:21
#14
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,772


Понапомни ссылку, я посмотрю - я просто уже не помню, чего и как я там творил
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.06.2006, 11:39
#15
Dym


 
Регистрация: 27.09.2005
Двинскъ
Сообщений: 586
Отправить сообщение для Dym с помощью Skype™


не помню та тема звалась, твой код:

Цитата:
(if (not *kpblc-activedoc*)
(setq *kpblc-activedoc* (vla-get-activedocument (vlax-get-acad-object)))
) ;_ end of if

(setq layer-oper "scan") ; имя слоя со шпалами

(if *vlr-cmd*
(progn
(setq *vlr-cmd* nil)
(vlr-remove-all :vlr-command-reactor)
) ;_ end of progn
) ;_ end of if
(if (not *vlr-cmd*)
(setq *vlr-cmd*
(vlr-command-reactor
"cmd"
'((:vlr-commandwillstart . cmd-start))
'((:vlr-commandended . cmd-end))
'((:vlr-commandcancelled . cmd-end))
) ;_ end of vlr-command-reactor
) ;_ end of setq
) ;_ end of if

(defun cmd-start (cmd reactor / cmd_name)
(setq cmd_name (strcase (car cmd) t))
(if (member cmd '("move" "copy" "pan"))
(if
(and (/= (strcase (vla-get-name
(vla-get-activelayer
(vla-get-activedocument (vlax-get-acad-object))
) ;_ end of vla-get-ActiveLayer
) ;_ end of vla-get-name
) ;_ end of strcase
(strcase layer-oper)
) ;_ end of /=
(setq
*layer*
(cons
(vla-item (vla-get-layers
(vla-get-activedocument (vlax-get-acad-object))
) ;_ end of vla-get-layers
) ;_ end of vla-item
(vla-get-layeron
(vla-item (vla-get-layers
(vla-get-activedocument (vlax-get-acad-object))
) ;_ end of vla-get-layers
) ;_ end of vla-item
) ;_ end of vla-get-layeron
) ;_ end of cons
) ;_ end of setq
) ;_ end of and
(vla-put-layeron *layer* :vlax-false)
) ;_ end of if
) ;_ end of if
) ;_ end of defun

(defun cmd-end (cmd reactor / cmd_name)
(if *layer*
(progn
(vla-put-layeron (car *layer*) (cdr *layer*))
(setq *layer* nil)
) ;_ end of progn
) ;_ end of if
) ;_ end of defun
Dym вне форума  
 
Непрочитано 15.06.2006, 12:07
#16
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,772


Можно, конечно, попробовать на окончание команды pan повесить отображение меню, но на среднюю кнопку - вряд ли. Я пока пас
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.06.2006, 12:45
#17
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,772


Что вешать - думаю, что вариант http://dwg.ru/dwl/453 подойдет идеально. Разобраться только с ним надо...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Системные переменные и средняя кнопка мыши

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск