- A+
在使用lisp开发插件的时候,想用到dcl界面对话框,但是看到人家的界面上有图片很漂亮,自己也想做,下面我就记录一下是如何dcl加载图形的。
准确的叫法是dcl里面的图片控件加载幻灯片,dcl是不能直接加载图片的,只能加载CAD制作的sld格式的幻灯片
图像控件有两个:
image_button 按钮,可以加载幻灯片作为背景,也就是大家认为的图片按钮,填充颜色也可以
image ,单纯的一个图像控件,可以作为预览窗口的一个控件,也可以加载幻灯片图像。
下面是如何制作sld幻灯片文件,
第一步,先设置好控件的高,和宽,使用下面函数,在lsp里面取得,图像控件的实际高和宽,否则,加载图片后不居中。
(setq kuan (dimx_tile "控件的key")) ;获取控件宽度
(setq gao(dimy_tile "控件的key"));获取控件高度
复制
第2步,在画好图,图形的大小比例缩放到上面获取控件的实际大小尺寸。否则加载幻灯片不居中,或者很小,
第3步,重点来了。如何保存sld幻灯片,保存不好,同样加载到dcl里面后会显示不规则,不清楚。
在保存之前,必须把CAD窗口大小调整到自己所画图的比例一直,目的是去除CAD不需要显示多余的白边。也就是说把窗口视图调整到自己的图能够完整显示在CAD窗口上面,因为显示器是长方形,你画的图也是长的,比例长方形也在显示器是长方形,那就不用调,如果是正方形,那就把CAD窗口视图调整到只能够显示一个方形即可。如图帮助理解。
调整好后使用命令 mslide 保存一下幻灯片,
以上工作全部好了后,在回到lisp里面在自己的响应事件里面加载即可。
如自定义一个加载图片函数
(action_tile "点击的控件的key" "(shi-pin)");响应事件, 使用在new_dialog界面加载成功之后
(defun shi-pin (/)
;自定义函数放在加载界面之前。
(setq kuan (dimx_tile "控件的key")) ;获取控件宽度
(setq gao(dimy_tile "控件的key"));获取控件高度
(start_image "控件的key");初始
(fill_image 0 0 kuan gao 255);填充背景
(slide_image 0 0 kuan gao "C:\\01.sld");加载幻灯片
;加载创建结束
(end_image)
(start_dialog)
)
复制