您可以将图像按钮简单地作为按钮来处理,也就是说,您可以使用它来触发单个操作。 但是,您也可以使用 PDB 功能来定义按钮的区域。定义区域后,执行的操作取决于用户选择的图像按钮部分。此操作的机制很简单:图像按钮的操作或回调返回用户选择的 (X,Y) 位置。坐标在特定图像按钮磁贴的范围内(由维度函数返回)。应用程序必须通过隐式定义图像的区域来分配选择位置的含义。DDVPOINT 对话框充分利用了此功能。您可以通过运行 AutoCAD DDVPOINT 命令来查看此内容。 在下面的示例中,您的图像按钮具有由创建的两个颜色色板。你想要选择一个或另一个,具体取决于用户选择的区域。如果图像按钮水平分割(上方为深色,下方为浅色),则操作只需测试一个维度:fill_image (action_tile "image_sel" "(pick_shade $key $value $y)") ... (defun pick_shade (key val y) (setq threshold (/ ( dimy_tile key) 2)) ;Image is divided horizontally. (if (> y threshold) ;Remember that the origin is at (setq result "Light") ;upper left. (setq result "Dark") ) ) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )
GMT+8, 2024-5-19 14:00
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.