程序思路猜想如下: 先把DCL输出到Temp,启用对话框 里面列举所有块名 点击某个块名,则将该块导出为WMF 再将WMF导入回来,缩小后放到对话框的后面(飞诗缩的不够小啊),删除WMF 因为WMF格式导入后 里面所有的图元都转换为POLYLINE! 根据GetBoundingBox返回的结果和image大小做高宽比调整 (修改了程序的DCL后发现飞诗的程序依然可以将图像居中显示 所以不是按照固定image高宽计算) 这样可以很方便的获得所有的线(vertex) 使用vector_image函数绘制在DCL-image里面即可 ---------------------------------------------- 本来自己也可以计算转换所有的图元为PLINE然后用vector_image绘制 但是飞诗通过WMF巧妙的完成这一步,快速实现DCL预览图块 程序的进一步改进可以实现: 把image改为带有任意图像和文字的按钮来用。(分析WMF后自动生成DCL对应代码即可) |