圆形菜单
本帖最后由 lijiao 于 2024-8-14 17:44 编辑前段时间发了个另类的菜单,总是觉得不满意,翻来覆去睡不着觉,经过反复折腾,现在总算过得去了
附件解压后是csmenu.dll文件,启动acad后用netload命令加载(适用于acad2013以上版本),加载后形成一个函数csmenu
函数名称: csmenu
调用方式: (csmenu )
参数说明: []表示可选项,可以有,也可以没有
str1到str8为字符串,是显示在菜单上的文字
intMode为整数,可以在参数的任何位置,取值为0~4,表示菜单类型,缺省时为0
0表示圆形菜单,最多可以接受8个字符串
1表示下半圆菜单,最多可以接受4个字符串
2表示左半圆菜单,最多可以接受4个字符串
3表示上半圆菜单,最多可以接受4个字符串
4表示右半圆菜单,最多可以接受4个字符串
realSize为实数,可以在参数的任何位置,表示菜单的大小,以像素为单位,缺省时为350
功能: 在屏幕中产生一个选项菜单,可以是圆形,也可以是扇形,菜单的中心就在当前鼠标的位置
退出方式: 一共有三种退出方式
1.鼠标滑过菜单项,返回所滑过的菜单序号,以0开始
2.回车,返回0
3.按ESC键,返回nil
使用场景举例:1.需要获取关键字时,可以使用圆形菜单
2.现在软件的工具条太多,加上自己开发的各种插件,几乎把屏幕占满,绘图区所剩无几,使用笔记本的情况就更为严重,这时就可以使用扇形菜单,或者半圆形菜单,比如有4个工具按钮,分别是line,pline,spline,mline,你就可以把这四个按钮去掉,重新定义一个叫MyLine的按钮,命令就叫MylLine,按钮位置就放在屏幕右边停靠,接下来就定义如下的命令MyLine,加载后,我们点击MyLine按钮时,在鼠标处就会出现一个左半圆的菜单,鼠标滑过菜单时,菜单消失,同时启动相应的命令,这样就可以用一个按钮代替四个按钮,减少工具栏对屏幕的占用率,扩大绘图区
(defun c:myline ( / item)
(setq item (csmenu "直线" "多段线" "样条线" "双线" 2 ))
(cond
((= item 0) (command "line"))
((= item 1) (command "pline"))
((= item 2) (command "spline"))
((= item 3) (command "mline"))
)
) 下面是截图
圆形菜单
下半圆菜单
左半圆菜单
上半圆菜单
有半圆菜单
这个东西赫思不是有吗?
好像大家现在还喜欢用Quicker. 本帖最后由 depgfdepgf 于 2024-8-15 13:28 编辑
大佬,菜单最好文字大小可以设置,菜单大小改到200,基本上文字看不到了,要是能设置多圈就更强大了 因为是滑动触发,不能用多圈,尺寸也不能过小,操作不方便 用netload加载后如何卸载? 你有种再说一遍 发表于 2024-8-14 19:18
这个东西赫思不是有吗?
好像大家现在还喜欢用Quicker.
确实,quicker轮盘很多圈的 你有种再说一遍 发表于 2024-8-14 19:18
这个东西赫思不是有吗?
好像大家现在还喜欢用Quicker.
确实主要quicker好用
这是圆形菜单的一个举例,可以节省屏幕空间.
想要源码学习一下
页:
[1]
2