DCL激活时高亮显示
我有一个对话框(DCL)处于活动状态,其中列出了块名。当用户选择它们时,我希望用户选择的所有块(通过名称)都高亮显示。第一次,动作块在代码中运行,第一个块选择集高亮显示。块中的所有后续更改都无法高亮显示,除非我遍历代码或选择其他程序,然后返回autocad。就好像dcl并没有放弃windows重画的autocad应用程序。
这是突出显示功能。vlisp有这个问题吗?有趣的是,我称之为“喜悦”函数,而物体实际上并不突出。。。。只是没有突出显示下一个区块组。
(defun highlight (ss / sscount)
(if ss (progn
(setq sscount -1)
(while (< (setq sscount (1+ sscount)) (sslength ss))
(redraw (ssname ss sscount) 3)
);while
);progn
(graphscr)
);if
);defun
(defun delight (ss / sscount)
(if ss (progn
(setq sscount -1)
(while (< (setq sscount (1+ sscount)) (sslength ss))
(redraw (ssname ss sscount) 4)
);while
);progn
);if
);defun 由于标准DCL只能创建模式对话框,因此在对话框处于焦点时可以执行的操作受到限制,因此通常需要隐藏对话框以在绘图区域内执行操作。
这个操作更适合于无模式对话框——我相信您可以使用OpenDCL创建这些对话框。 隐藏:我也这么认为。
OpenDCL:我会查出来的。
谢谢你的回复。
页:
[1]