|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
22.12.2010, 00:50 | #1 | |
Что может быть слайдом в dcl-окнах?
Регистрация: 05.12.2010
Сообщений: 104
|
||
Просмотров: 18177
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
По идее зависит от того, как этот слайд определяется: как image или как slide_image.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 05.12.2010
Сообщений: 104
|
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
Есть три функции: fill_image, vector_image и slide_image. Советую найти книгу НН.Полещука по AutoLISP или посмотреть в справке. Пока ничего более конкретного предложить не могу ( Устал, спать хочу.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Слайдом может быть только слайд (см. команды _.mslide и _.vslide).
Ну и start_image и end_image. Не впихнуть в DCL ничего, кроме слайдов - с помощью функции slide_image. Никаких jpg, bmp и пр не поддерживается. С помощью fill_image и vector_image можно рисовать изображение. |
||||
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
fill_image - заполняет прямоугольник внутри графического поля одним цветом.
vector_image - рисует отрезок заданного цвета внутри графического поля диалогового окна. slide_image - заполняет графическое поле слайдом из отдельного файла слайда или из библиотеки слайдов. Как видим, здесь имеется в виду слайд , т.е. файл с расширением SLD (или SLB, если слайд берется из библиотеки). Никаких BMP или JPG не предусмотрено. Однако, можно попытаться вставить растровое изображение в чертеж и создать слайд вместе с этим изображением. Когда-то я делал так. Но вспоминается мне, что файл слайда в этом случае получался офигенного размера. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Слайды (как и DCL вообще) - атавизм. Но когда-то это было очень круто - вообще возможность вставлять в диалог хоть какие-то графические изображения. Тогда в DOS не было современных возможностей, кое-как можно было использовать древние графические форматы, наподобие PCX. Да и памяти было мизерное количество, поэтому формат SLD был кстати.
Теперь, если нужны хорошие диалоги, с современными "контролами" и графикой, надо использовать иные среды программирования. А вызывать диалоги можно и из LISP. |
|||
|
||||
__________________
Почему все вдруг становятся умными, когда уже не надо? Последний раз редактировалось Disney, 22.12.2010 в 12:45. |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
В дополнение к сказанному ShaggyDoc'ом - сразу скажу, что это не ахти какой метод, но все-же лучше чем - DCL. Если, по какой-либо причине есть сложности с регистрацией COM элементов (для диалоговых окон), во многих случаях, вполне можно использовать просто внешний .exe (через startapp), т.к. объектная модель автокада точно зарегестрированна.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
Цитата:
С этими слайдами просто ужасно работать. Да и создавать библиотеку слайдов достаточно неудобно. Хотя на это все есть спец. прога. Да и вообще мне кажется, что Lisp+DCL - это "для начала". Ознакомится с объектной моделью, получить азы, понять, что из себя представляют примитивы и т.д. Если уж создавать что-то, что содержит качественные диалоги - то это уже C#, C++, VBA и т.д., деланные на Visual Studio. Тем более - можно сделать диалог, например используя .NET, а к нему привязать Лисп |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Но тут нужна LISP-функция, запускающая exe в "модальном режиме", т.е. дожидающаяся завершения диалога любым способом. Штатные функции этого, почему-то не умеют. Можно воспользоваться DOSlib или свою сделать. Этот метод хорош тем, что полностью не зависит от COM. И "программу-диалог" можно делать любыми средствами. Когда-то, когда недостатки DCL уже были очевидны, а ничего хорошего не было, я использовал такие "диалоги" ("нарисованные" на CLIPPER или Turbo Pascal) даже в DOS. При этом, хотя и приходилось выгружать из памяти сам Автокад, замедления работы не ощущалось. А теперь-то тем более не почувствуется, даже с "медленными" файловыми операциями. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Так ведь один из минусов dcl - это работа ИСКЛЮЧИТЕЛЬНО в модальном режиме - ихмо наоборот приятней когда ты какой-либо бегунок тянешь, а у тебя "в онлайне" чертеж меняется.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
зачем тогда диалог? рисуешь бегунок в чертеже, тянешь его и программно перерисовываешь чертеж...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
|
||||
Это называется "динамически", а не "онлайн".
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Цитата:
То HWD - в кавычках же написанно - я думаю все поняли.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Но DCL придумали задолго до идеологии программирования в Windows, где работа основывается на анализе "сообщений" из разных источников. "Это когда" отслеживаются все действия (шевеление мышки, нажатие на клавиши), сортируются и отправляются соответствующим "исполнителям". А раньше в памяти могла быть только одна программа и ей не с кем было взаимодействовать. "Окон" в нынешнем понимании (не визуальном) просто не было. И не было самого понятия "модальности". Конечно, Autodesk просто обязана была где-то в версии AutoCAD 14 сделать новую систему диалогов. Старую DCL можно было оставить для совместимости. И сейчас этому нет технических препятствий, особенно с внедрением .NET. Но им это не надо. "Пипл хавает", да и сюзерен не заинтересован в этом. Сейчас я немодальные диалоги делаю именно в виде EXE. Он запускается из LISP, подхватывает объектную модель AutoCAD и посылает ему соответствующие "команды". |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Подскажите каким методом определяете местоположение exe'шника (у меня пока в виде "жесткой" привязки %appdata%... реализовано, ничего лучше в голову не приходит (в реестр лезть или переменые устанавливать - не охота, (тогда уж сразу COM поставить можно) может какой получше метод есть - поделитесь)).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
Быть может куда-то надо ввести какой-то коэффициент? | psik | AutoCAD | 1 | 16.01.2007 02:32 |
Высокий простенок (а может быть столб) | Koker | Прочее. Архитектура и строительство | 7 | 16.10.2006 14:46 |
Может разорвать анкерные болты от мороза? | Колян | Прочее. Архитектура и строительство | 4 | 12.08.2005 09:14 |
eTransmit вырубается! В чем может быть дело? | Maps | AutoCAD | 2 | 22.01.2004 17:12 |