sandymen Posted January 14, 2014 Report Share Posted January 14, 2014 А что собственно поддерживает DCL? В SDK только четыре простейших примера. На сайте и в хелпе ничего не нашел. На лисп хоть есть список функций. Не могу вывести на экран вот такое окошко: ddsetup : dialog { label = "Формат листа"; : boxed_radio_column { label = "Параметры вставки"; : radio_button { label = "Вставить лист и настроить чертеж"; // mnemonic = "LS"; key = "ListAndSet"; } : radio_button { label = "Только вставить лист"; // mnemonic = "IL"; key = "InsertList"; } : radio_button { label = "Только настроить чертеж"; // mnemonic = "SD"; key = "SetDrawing"; } : popup_list { label = "Масштаб:"; key = "lscale"; edit_width = 24; // mnemonic = "S"; } } : boxed_column { label = "Лист"; : radio_row { : radio_button { label = "Первый лист"; // mnemonic = "p1"; key = "page1"; is_enabled=false; } : radio_button { label = "Следующий лист"; // mnemonic = "p2"; key = "page2"; is_enabled=false; } } : popup_list { label = "Формат:"; key = "format"; edit_width = 24; // mnemonic = "f"; is_enabled=false; } : radio_row { : radio_button { label = "Горизонтальный"; // mnemonic = "h"; key = "hor"; is_enabled=false; } : radio_button { label = "Вертикальный"; // mnemonic = "V"; key = "ver"; is_enabled=false; } } : toggle { label = "Только рамка"; // mnemonic = "B"; key = "bonly"; is_enabled=false; } : spacer { width = 2; } : text { key = "disp"; value = "xy"; width = 30; is_enabled=false; } : toggle { label = "Указать точку вставки"; // mnemonic = "bp"; key = "basepoint"; is_enabled=false; } } : boxed_radio_column { label = "Настройки чертежа"; : edit_box { label = "Ширина полилинии:"; // mnemonic = "W"; key = "lwid"; edit_width = 5; edit_limit = 10; is_enabled=false; } : toggle { label = "Настроить размерные стили"; // mnemonic = "DS"; key = "DimStyle"; is_enabled=false; } : toggle { label = "Настроить текстовые стили"; // mnemonic = "TS"; key = "TextStyle"; is_enabled=false; } } ok_cancel; } Вызываю диалог кодом, передранным с helloworld.lsp: (defun qqq () (setq dcl_id (load_dialog "DDSETUP.DCL")) (new_dialog "ddsetup" dcl_id) (start_dialog) (unload_dialog dcl_id) ) (defun c:qqq () (qqq) ) Сначала нанокад ругался на mnemonic, ну закомментировал. Теперь нанокад молча чего-то делает, но на экран ничего не выводит. Подозреваю, что не выполняется какой-то из элементов диалога, но какой именно не понятно. Quote Link to comment Share on other sites More sharing options...
sandymen Posted January 15, 2014 Author Report Share Posted January 15, 2014 Проблема оказалась в : boxed_radio_column {, заменил на : boxed_column {, никакой разницы в плане оформления диалога. Кстати, а чего цвет у диалога такой похабный, можно как-нибудь поменять на текущую цветовую схему в виндах? Quote Link to comment Share on other sites More sharing options...
ISL Posted January 16, 2014 Report Share Posted January 16, 2014 Задача о выводе цивилизованного сообщения о том, что DCL директива не реализована, записана в багтрекере Клуба разработчиков под номером #100. О списке реализованных директив подумаем. Цветовую схему изменить со стороны внешнего приложения нельзя, о текущей цветовой схеме подумаем, пожелание #139 в Клубе разработчиков. Quote Link to comment Share on other sites More sharing options...
gomer Posted March 7, 2014 Report Share Posted March 7, 2014 Почему бы не перевести надписи кнопок ok_cancel с технического английского на удобоваримый русский? Quote Link to comment Share on other sites More sharing options...
lastloch Posted May 26, 2014 Report Share Posted May 26, 2014 Подскажите пожалуйста как "залить" изображение на IMAGE и IMAGE_BUTTON dcl файла. Пытался использовать Lisp функцию SLIDE_IMAGE - ,безрезультатно. Quote Link to comment Share on other sites More sharing options...
lastloch Posted May 27, 2014 Report Share Posted May 27, 2014 Пример DCL файла: imag : dialog { label = "Рисунок-кнопка"; : image_button { key = "nad1_110"; height =10; } ok_cancel; } } Lisp для загрузки этого DCL: (defun c:im () (setq dcl (load_dialog "imag.dcl")) (new_dialog "imag" dcl) (setq x (dimx_tile "nad1_110") y (dimy_tile "nad1_110") ) ;_ конец setq (start_image "nad1_110") (slide_image 0 0 x y "РИСУНОК????") (end_image) (start_dialog) (unload_dialog dcl) ) ;_ конец defun Кто подскажет-что должно быть вместо слова РИСУНОК???? и в каком формате? Интерпретатор проглатывает функцию (slide_image 0 0 x y "РИСУНОК????") и не ругается, но на кнопке рисунок не отображается. Пробовал подсовывать рисунки типа SLD, BMP, PNG, TIF, GIF, JPG - безрезультатно. Диалоговое окно появляется, а рисунка на кнопке нет. Quote Link to comment Share on other sites More sharing options...
ISL Posted May 27, 2014 Report Share Posted May 27, 2014 Функция SLIDE_IMAGE не реализована. Записал в багтрекере Клуба разработчиков пожелание #163. Quote Link to comment Share on other sites More sharing options...
lastloch Posted May 28, 2014 Report Share Posted May 28, 2014 (edited) Тогда вопрос - а как можно показать картинку или что-либо нарисовать на DCL компонентах IMAGE_BUTTON и IMAGE? Если есть такие объекты, значит на них может быть какое-то изображение? Edited May 28, 2014 by lastloch Quote Link to comment Share on other sites More sharing options...
ISL Posted May 28, 2014 Report Share Posted May 28, 2014 Увы, не реализована вся подгруппа *_image. Расширил описание пожелания #163 в багтрекере Клуба разработчиков. Quote Link to comment Share on other sites More sharing options...
lastloch Posted June 11, 2014 Report Share Posted June 11, 2014 А вот еще вопрос: можно ли задать первоначальное положение окна DCL? Допустим я хочу, чтобы окно выпадало не в центре экрана, а в левом верхнем углу? Quote Link to comment Share on other sites More sharing options...
danila_perm Posted April 5 Report Share Posted April 5 Добрый день. Есть ли продвижение по реализации SLIDE_IMAGE? Пытаемся перейти с Автокада на Нанокад. Есть ряд примочек работающих с Lisp - DCL и использующие подгруппу *_image. Проведена ли какая-то работа в этом направлении с 2014 года? Quote Link to comment Share on other sites More sharing options...
danila_perm Posted April 19 Report Share Posted April 19 Похоже 8 лет спустя ничего тут не поменялось... Quote Link to comment Share on other sites More sharing options...
kpblc Posted April 19 Report Share Posted April 19 Сугубо ИМХО: чем пытаться что-то сотворить на dcl, да без возможности отладки, да не имея представления как оно будет выглядеть - уж лучше сразу на NET переходить. Ну или по-жесткому - на плюсы 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.