|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
29.12.2015, 14:03 | #1 | |
Solidworks2014+VBA. Как сделать многоколоночный листбокс?
гастарбайтер понаехал
Маскво
Регистрация: 07.12.2009
Сообщений: 267
|
||
Просмотров: 5336
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Сильно подозреваю, что понадобится не ListBox, а нечто типа DataGrid. С полностью динамическим распределением колонок и строк.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
гастарбайтер понаехал Регистрация: 07.12.2009
Маскво
Сообщений: 267
|
Спасибо за советы. получается, в свойствах листбокса такого нет нигде.
В одном случае придётся перепахивать весь макрос, чтобы добавлять значения в datagrid, в другом случае тоже какие-то циклы что ли добавлять. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,039
|
не так и много - проверка по условиям: влезает ли количестве строк в один столбец без остатка или нет, в два столбца без остатка и оставшийся вариант. И разбивать список на 1, 2 или 3 колонки соответственно и соответствующий вывод. И этот код вставляете в то место макроса - где был первоначальный вывод в список прописан.
|
|||
|
||||
как вариант, после проверок можно формировать массивчик одно, двух, трехмерный
в зависимости сколько столбцов получается пример (для трех столбцов, 11 строк) после проверки количества файлов Код:
__________________
Мастерская СПДС |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Offtop: Интересно, а при выборе элемента в таком многоколоночном ListBox будет выбираться целиком строка или только тот элемент, на котором пользователь клацнул?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
строка, но куда клацнул определить можно без проблем
======= Кулик Алексей aka kpblc, кстати да, лучше формировать по условию несколько листбоксов и динамически их показывать/ скрывать, растягивать/сжимать
__________________
Мастерская СПДС |
||||
|
||||
не то слово, а какие еще варианты?
__________________
Мастерская СПДС |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,039
|
я бы рекомендовал скачать бесплатную студию экспресс, и перейти на Interrop VB.NET. Это наименее болезненный путь переноса приложения с VBA на что-то "посовременнее". А WinForm и формы VBA - даже близко не стояло по функционалу. Но судя по тому, что ТС не смог найти в интернете пример заполнения многоколоночного ListBox VBA - это не для него.
|
|||
|
||||
гастарбайтер понаехал Регистрация: 07.12.2009
Маскво
Сообщений: 267
|
Спасибо, джентльмены.
При данных условиях: 1. Мои зайчаточные знания программирования. 2. Необязательности реализации задачи, которую я изложил(хотелось бы, конечно, но уж если так непросто, то ладно). 3. Принцип "работает - не надо улучшать". думаю, оставить этот момент как есть и просто смириться с тем, что список нужно будет двигать скролллом. Не так уж это и страшно. Я думал, что в силу своего слабого знания программистических тонкостей просто не увидел какое-то свойство или галку в настройках листбокса. Ну, максимум, установить вместо него текстовый бокс и упражняться в нём, но через переписывание кода это меня пугает. И так еле слепил и настроил. Спасибо вам всем, пожелаю вам удачных праздников и не напиваться как в тот раз))) |
|||
|
||||
гастарбайтер понаехал Регистрация: 07.12.2009
Маскво
Сообщений: 267
|
Для профессиональных программистов, да, возможно он и не представляет интереса, но для меня, как для инженера, оно весьма кажется удобным. По применению это похоже на фотошоповский экшен: ты можешь просто записать последовательность нужных тебе действий, чтобы автоматизировать типовые повторяющиеся команды. Тот же автокадовский лисп - его нужно отдельно изучать и пока сам дойдёшь до написания hello world - много нужно усилий. а проекты на работе в это время стоят. У меня по большому счёту задача - сделать чертежи на металлокаркас, например, распечатать сварщикам. А уж красота и удобство интерфейса, или какие-то глюки, из-за неотлаженных ошибок - дело десятое. Я не выкладываю эти макросы на всеобщий доступ, да и неинтересны они никому, кроме меня. поэтому с какими-то неудобствами или медленнодействием или черезжопной реализацией команд могу и смириться.
Солидовские же макросы можно писать буквально на лету, под сиюминутно возникающие одноразовые задачи. Все мои источники знаний - это солидовский форум или справка API. В русскоязычном интернете ничего похожего нет. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,039
|
Поэтому и рекомендую Interrop в качестве альтернативы. Например, для автокада
Код:
----- добавлено через ~6 мин. ----- p.s. я тоже не профессиональный программист - ни по образованию, ни по профилю работы. Просто после налетания лбом на ограничения и недостатки очередной среды разработки приходилось залезать в очередные дебри - постепенно за несколько лет накопился некоторый опыт) |
|||
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Он просто из 6й либы, а ListBox из пятой 6я либа ставится вместе с VBA, так что не вижу причин для беспокойства... хотя я давно уже этим не занимаюсь могу и ошибаться. В любом случае костыли с листбоксом хуже, чем отсутствие библиотеки
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разработка ПОС, искусство проектирования | Tyhig | Технология и организация строительства | 117 | 25.11.2021 17:38 |
как сделать твердотельную модель и сделать ее чертеж, потом перенести в солидворкс | denya43 | AutoCAD | 5 | 24.12.2012 18:42 |
как сделать сопряжение в нужной точке? | rtyu | AutoCAD | 4 | 08.08.2012 16:43 |
Из чего сделать несущие стены для индивидуального жилого дома | Минька | Конструкции зданий и сооружений | 32 | 24.03.2009 11:49 |
Как сделать сделать заливку на растровой подложке? | Особое мнение | Разное | 2 | 13.05.2008 10:30 |