Пользовательская панель инструментов

Автор Andreych, 07.12.18, 22:26:51

« предыдущая - следующая »

0 Пользователей и 1 гость просматривают эту тему.

Andreych

Внес еще несколько изменений в версии 2.2.
1. Добавил в статусной строке поле для тестирования команда по ее номерау.
2. Панель с кнопками настройки разделил на две. Все кнопки, которые активируются только в режиме редактирования, ушли на вторую панель, которая расположена сбоку и скрывается вместе со списком, чтобы не занимать место на основной панели. Эту панель можно при желании перетащить в другое место. Хотя это можно было сделать и ранее вручную, просто создав новую панель и перетащив туда эти кнопки.
3. Свои иконки теперь можно добавлять не только в формате ico, но и jpg, png, gif, bmp. Раньше можно было только ico, и то не всех размеров, ошибку выдавало иногда.
4. Если нажать в статусной строке на надпись "Иконок 1740", то справа отобразится список добавленных вручную иконок. Этот список можно редактировать как обычный текст, например, чтобы удалить ненужные иконки, т.к. соотв. кнопки нет.
Или туда можно добавить список файлов с полными путями к иконкам, тогда они добавятся при следующем запуске программы.
5. Прочие мелкие изменения: возможность изменять ширину списка иконок, добавление значков для утилит с прозрачностью, может еще что-то забыл упомянуть.
+ Благодарностей: 3

Andreych

Цитата: Вират Лакх от 29.12.18, 03:24:24
5. А если пойти другим путём? Предлагаю рассмотреть возможность сделать эту программу из exe в rtw или dll ActiveX.
Тогда, может быть, уйдет проблема с фокусом. Кроме этого, не нужно будет запускать эту программу отдельно и проверять перед запуском каждой команды прицепленность её к компасу.


У меня Delphi7 32битная, там нельзя сделать rtw, чтобы запустить в 64битном Компасе, к сожалению.
Я попробовал перегнать программу в Delphi 10.2, вроде получилось кое-как, но размер программы стал в несколько раз больше только от этого, а если компилировать в 64битном режиме, то и еще в разы больше. Просто кошмар :)
И я пока не умею там делать rtw в 64битном виде.

Цитата: Andreych от 04.01.19, 14:28:56
У меня Delphi7 32битная, там нельзя сделать rtw, чтобы запустить в 64битном Компасе, к сожалению.
Я попробовал перегнать программу в Delphi 10.2, вроде получилось кое-как, но размер программы стал в несколько раз больше только от этого, а если компилировать в 64битном режиме, то и еще в разы больше. Просто кошмар :)
И я пока не умею там делать rtw в 64битном виде.

Так настройте проект, исходные файлы будут одни и те же, если есть узкие места в зависимости от платформы, то можно в файле директивами компилятору прописать, чтобы исходный код был один, а результат однозначно будет разный и его нужно разделить настройкой.
У Вас должно получится четыре варианта настроек, можно свести к двум в плане куда писать результат.
То, что получаются большие файлы, так просто много того, что не используется туда попадает, можно уменьшить, но возни будет больше.
64-разрядная dll или exe, будет больше, т.к. многие типы данных увеличат разрядность, а это место.
+ Благодарностей: 1

Andreych


+ Благодарностей: 1

ТрындецЪ

Давно не поднималась тема этой программы. Пользуюсь ей постоянно. Спасибо, Andreych, за труд!
Есть одна неприятность, которая возникает постоянно.
Добавил я на панель утилиту-макрос "Актаулизация линейных размеров с обрывом". Но она каждый раз при запуске программы  "Пользовательская панель инструментов" "отваливается" , т.е. при нажатии на кнопку ничего не происходит. Если её добавить на ту же кнопку заново, то работает до закрытия программы. Не пойму, чем она отличается от других утилит, которые не "отваливаются"? Файл .*ini прилагаю.

VladAV

А можно панель установить вертикально?

Grinka

Здравствуйте!
В какой-то теме вычитал, что создали макрос для создания собственной инструментальной панели в К-17 и выше.
Но там так все мудрено  :%:. что-то на уровне программирования...
Подскажите пожалуйста где скачать такой макрос и как его подключить (по проще).
Заранее спасибо

pr0100

+ Благодарностей: 1

Grinka

Спасибо. Что-то включилось, но еще разбираться надо.

Andreych

Цитата: ТрындецЪ от 04.02.19, 10:46:39
Давно не поднималась тема этой программы. Пользуюсь ей постоянно. Спасибо, Andreych, за труд!
Есть одна неприятность, которая возникает постоянно.
Добавил я на панель утилиту-макрос "Актаулизация линейных размеров с обрывом". Но она каждый раз при запуске программы  "Пользовательская панель инструментов" "отваливается" , т.е. при нажатии на кнопку ничего не происходит. Если её добавить на ту же кнопку заново, то работает до закрытия программы. Не пойму, чем она отличается от других утилит, которые не "отваливаются"? Файл .*ini прилагаю.


А попробуйте сократить путь к макросу.
А то я вижу в файле ini, что имя файла макроса обрывается, там не влезло окончание "v0.2.pyw".
Т.е. сразу как добавили макрос, то работает, а при закрытии программы сохраняется путь не весь, а только 100 символов.
Я посмотрю где это такое ограничение у меня вылезает.

Andreych

Поправил слишком короткий путь для добавляемых файлов.
+ Благодарностей: 3


ТрындецЪ

Цитата: Andreych от 16.02.19, 16:06:39
А попробуйте сократить путь к макросу.
А то я вижу в файле ini, что имя файла макроса обрывается, там не влезло окончание "v0.2.pyw".
Т.е. сразу как добавили макрос, то работает, а при закрытии программы сохраняется путь не весь, а только 100 символов.
Я посмотрю где это такое ограничение у меня вылезает.

Макрос я добавлял на панель Макросы и была эта проблема. Потом я решил попробовать добавить  его на панель Команды и он работал даже после перезагрузки. Потом я команду с макросом скопировал на панель Макросы, и он так же работает без нареканий.

p3452

Спасибо за наводку на xml файлы с описанием команд!
Я то парился так:
LibraryManager libM; // Менеджера библиотек
ProceduresLibraries prLibs;  // Список библиотек
Procedures prCs;             // Список команд
for (int i=0; i<prLibs.Count; i++)
{
for (int n=0; n<prCs.Count; n++)
{...}
}

Вират Лакх

Ошибка в СДК в "Команды редактирования":
ksCMEditSelectAll ID_EDIT_SELECT_ALL Выделить все (0xE12B) должна быть 0xE12A
ksCMEditUndo ID_EDIT_UNDO Отменить (0xE12C) должна быть 0xE12B

У Andreych в списке команд должно быть:
57642 Выделить все
57643 Отменить
57644 Повторить

mAXE

29.04.20, 11:57:34 #136 Последнее редактирование: 29.04.20, 15:04:44 от mAXE
Очень нужная панель, респект разработчику, а можно ли добавить команду Авторасстановка позиций? очень нужно! И еще вопрос имеется ли возможность добавлять кнопки на разные панели и менять порядок иконок?

Andreych

Авторасстановка позиций - это такая команда в спецификации?
В программе можно вытащить на панель кнопку 33891 - Расставить позиции. Это не оно?

Добавлять кнопки на разные панели и менять порядок иконок - это можно. Правая кнопка мыши - в меню выбираем Настроить... И тут можно передвигать, удалять иконки и перетаскивать их на другие панели и даже копировать (с Ctrl).

mAXE

Цитата: Andreych от 29.04.20, 19:56:22Авторасстановка позиций - это такая команда в спецификации?
Нет, это приложение "Авторасстановка позиций", в 16 версии можно отдельно кнопку вытащить на нее, а в 18.1 нет! и это очень не удобно, чтобы вызвать команду нужно 4 раза кликнуть мышкой...

Andreych

Добавьте в конец файла KompasCommands.txt строки:

  Библиотека "Авторасстановка позиций"  |65000
  \KPos\kPos.rtw
65001  Авторасстановка позиций