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

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

Какая ячейта таблицы выделена?

Ответ
Поиск в этой теме
Непрочитано 19.05.2015, 16:11 #1
Какая ячейта таблицы выделена?
Klo
 
Инженер-конструктор
 
Юбилейный МО
Регистрация: 29.10.2007
Сообщений: 269

Как получить номер строки и столбца выделенной ячейки таблицы?
Нашёл метод выбора через указание точки:
Код:
[Выделить все]
 (setq tbl (vlax-ename->vla-object (car (entsel))))
(vla-hittest tbl (vlax-3D-point (getpoint)) (vlax-3d-point '(0.0 0.0 1.0)) 'row 'col) 
но это несколько не то...
Просмотров: 3054
 
Непрочитано 19.05.2015, 16:15
#2
Кулик Алексей aka kpblc
Moderator

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


ПОчему "не то"? Насколько я помню, в переменных row и col будут храниться номера соответственно строки и столбца, в который ткнул пользователь.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.05.2015, 16:21
#3
Klo

Инженер-конструктор
 
Регистрация: 29.10.2007
Юбилейный МО
Сообщений: 269


Хочется получить строку и столбец уже выделенной ячейки (или диапазона ячеек), а не той которую ещё предстоит выделить.
С обычными примитивами понятно:
Код:
[Выделить все]
 (setq nabor (ssget))
и, если до вызова были выделены примитивы, то вернётся имя набора, но с ячейками таблицы такое, конечно, не работает.
Klo вне форума  
 
Непрочитано 19.05.2015, 16:53
#4
Александр Ривилис

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


Наверное тебе нужна функция vla-GetSubSelection
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 19.05.2015, 17:24
#5
Klo

Инженер-конструктор
 
Регистрация: 29.10.2007
Юбилейный МО
Сообщений: 269


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Наверное тебе нужна функция vla-GetSubSelection
Спасибо, Александр.
Открыл книжку Полещука AutoLisp и Visual LISP в среде AutoCad. Отыскал эту функцию - п. 7.2.203.
Но, к своему стыду, я смог ей воспользоваться.
Выделяю ячейки. Пишу как говорят:
Код:
[Выделить все]
 (setq obj (vlax-ename->vla-object (car (entsel))))
хорошо, выбираю таблицу, хотя и не понятно зачем, ведь должны подпримитивы быть выделены
Код:
[Выделить все]
 (vla-GetSubSelection obj 'rowmin 'rowmax 'colmin 'colmax)
; error: Automation Error. Table cells sub selection set is empty
Что интересно, если предварительно воспользоваться обратной функцией vla-SetSubSelection, то ячейки выделятся и их индексы получить удаётся...
Код:
[Выделить все]
 (setq obj (vlax-ename->vla-object (car (entsel))))
(vla-SetSubSelection obj 1 1 2 3)
(vla-GetSubSelection obj 'rowmin 'rowmax 'colmin 'colmax)
nil
Command: !rowmax
1
Klo вне форума  
 
Непрочитано 19.05.2015, 17:34
#6
Александр Ривилис

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


Цитата:
Сообщение от Klo Посмотреть сообщение
хорошо, выбираю таблицу, хотя и не понятно зачем, ведь должны подпримитивы быть выделены
Ну вообще-то её выбирать не нужно. Наверное через (ssgetfirst) или (ssget "_I") нужно получить уже выделенную таблицу. Я вот только не уверен не снимается ли при этом выделение ячеек таблицы, а проверять сечас нет времени.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 21.05.2015, 10:35
#7
Klo

Инженер-конструктор
 
Регистрация: 29.10.2007
Юбилейный МО
Сообщений: 269


Нашёл интересный пример от великого Lee Mac на форуме:
http://www.theswamp.org/index.php?PH...topic=37154.15
Изменяет цвет границ ячеек после выделения. Файлик прилагаю. TableBorder.lsp
К сожалению мне этот скрипт не помог, но может кто-то использует.
Свой вопрос снимаю, так как не смогу сейчас с этим разбираться. Думал, что смогу скриптик на коленке набросать, но не вышло
Klo вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Какая ячейта таблицы выделена?

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Полезные таблицы для инженеров (самопальные и не только). Armin Поиск литературы, чертежей, моделей и прочих материалов 152 22.12.2024 04:14
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 272 06.06.2021 23:12
вставка таблицы из MS Excell baaba Готовые программы 23 11.03.2014 19:47
Копирование текста из одного столбца таблицы в другую таблицу до первой точки или запятой antiponf Программирование 11 13.03.2012 17:00
как с помощью vba начертить линию vasyavip Программирование 77 09.10.2008 23:17