明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 33358|回复: 111

【源码】仿天正屏幕菜单(更新)

    [复制链接]
发表于 2018-12-8 22:57:27 | 显示全部楼层 |阅读模式
本帖最后由 zjh2785 于 2018-12-8 23:18 编辑

之前,写过一个【原创】类似天正屏幕菜单效果======开源

但是可能有些朋友绝对麻烦,而且菜单内容是在源代码里面定义好的,也就是说发布之后想要增加菜单项就不可能了,我自己也觉得不是很方便;索性重新写了一版,这个版本比较灵活又简单,调用代码只需要一行
public void Initialize()
{
    CUI.ScreenMenu.Show();
}

若需添加菜单,修改目录下的cmd.xml文件即可,是不是很简单?哈哈



【写的比较乱,大家将就着看吧^_^】
1、所有的菜单项定义在外部文件的cmd.xml里面,并且支持嵌套(伸缩菜单里面还可以存在子伸缩菜单),

2、大大提高图标定义的灵活性,支持指定文件、DLL中的图标索引;代码中有一项添加支持目录的功能,其作用是将指定的目录加入到控件里面去,比如“C:\ABC\”,加入之后就可以在指定图标文件的时候不需要写文件的全称“C:\ABC\Resource.dll”,只需要写“Resource.dll”就可以自动找到这个文件;程序默认添加了C:\Program Files\Autodesk\AutoCAD 2014\zh-CN为支持目录,
也可以自己在代码中添加更多   foldBar.icoSupportPath.Add("目录");
因为我发现CAD很多自带的图标,都在这个文件夹里面,添加了这个目录后 ,  后面就可以直接写"pc3EditRes.dll"、"acadres.dll"就可以访问目录下的这个文件了,


至于如果确定哪个文件中有图标,我这里介绍一款软件:魔方(如果有更好的软件,欢迎告诉我,哈哈) 魔方里面有一个"软媒图标大师", 这个软件可以扫描文件夹:


请大家务必打开源码中的cmd.xml看看。
可用的标识文字(不区分大小):
Group:定义一个组;
示例:  
<Group Title ="组的标题" TextColor(可选) ="Coral" BackColorr(可选) ="AliceBlue">
    <Item Command ="_.options" ImageFile ="acadres.dll" ImageIndex = "97" TextColor ="ControlText">选项设置</Item>
  </Group>


Item:定义一个菜单项;
示例:
<Item Command ="_.options" ImageFile ="acadres.dll" ImageIndex = "97" TextColor ="ControlText" BackColorr="Control">选项设置</Item>
<Item Command ="_.options" ImageFile ="C:\image.jpg" ImageIndex = "" TextColor ="ControlText">选项设置</Item>


定义一个分隔符
示例:
<Item>-</Item>


Title:组的名称,仅用于组;
TextColor文本颜色,组、菜单项通用(可选)
BackColor:背景颜色,组、菜单项通用(可选)
Command:命令行,例如"line""pline",仅用于菜单项;
Imagefile:图标文件的完整路径"C:\ABC\Resource.dll",也可以通过添加支持目录"C:\ABC"从而只需要指定文件名称Resource.dll即可,仅用于菜单项
Imageindex:图标索引,指图像文件中的索引值,如果图标文件(ImageFile)为图像文件,此标志请填""空文本,仅用于菜单项


上面所用的****Color颜色值为文本,及VS支持的代表颜色的文字,如:Control , Red, Blue, 后面我会附一个颜色对照表;


大部分DIY  全部在cmd.xml文件里面确定,可以改变指定菜单项的文字颜色、背景颜色、图标等;
介绍先写这么多,我后面会发源码,有了源码之后,任何介绍都显得苍白;
如果有不明确的 ,欢迎跟帖讨论,我会定期为大家解答(能力范围之内的)
个人还有一个功能没有实现,就是滚动的问题, 我希望在不显示滚动条的情况下,如果屏幕满了,鼠标中键可以控制滚动。抛砖引玉,源码在手  想怎么改就怎么改,本人编程新手,希望可以得到各位宝贵的建议,包括滚动条的事情;




改源代码是从我项目中剔除的,已测试成功,其他无关 的代码我已经注释掉,
编译、运行环境  :  VS2010、AutoCAD2014



颜色值参考,压缩包内为一个html文件, 用浏览器直接打开可用;













本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

楼主能请教个问题不 图库缩略图的问题  发表于 2022-9-7 17:38

评分

参与人数 2明经币 +2 收起 理由
j15tty + 1 赞一个!
BaoWSE + 1 赞一个!

查看全部评分

本帖被以下淘专辑推荐:

发表于 2019-4-22 00:03:47 | 显示全部楼层
实现鼠标滚动就好了,不然东西多了,显示不完整,也没滚动条,鼠标也不能滚动。
回复 支持 1 反对 0

使用道具 举报

发表于 2023-8-11 23:21:31 | 显示全部楼层
请教大神有更新的版本吗?编译的时候出现“严重性        代码        说明        项目        文件        行        禁止显示状态
错误                无法处理文件 FoldBar\Resource.resx,因为它位于 Internet 或受限区域中,或者文件上具有 Web 标记。要想处理这些文件,请删除 Web 标记。        AutoCAD CSharp plug-in1                       
” 错误,请问如何解决?
发表于 2019-8-14 11:14:25 | 显示全部楼层
个人还有一个功能没有实现,就是滚动的问题, 我希望在不显示滚动条的情况下,如果屏幕满了,鼠标中键可以控制滚动
FoldBar 放置一个panel,panel的大小右边超出FoldBar,启动时滚动条就不会显示出来



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2018-12-10 11:30:20 | 显示全部楼层
感谢楼主的分享,思路不错,学习了
发表于 2018-12-10 12:15:40 | 显示全部楼层
保存学习 谢谢楼主分享宝贵经验!
发表于 2018-12-10 12:44:48 | 显示全部楼层
非常感谢楼主!!!!
发表于 2018-12-10 15:47:29 | 显示全部楼层
感谢分享,楼主辛苦了。
发表于 2018-12-10 17:20:18 | 显示全部楼层
好牛啊,感觉和原来一个牛叉的作者写的类似的差不多,这个看起来更好看一些!
发表于 2018-12-10 21:17:15 | 显示全部楼层
这个和加载到ps里面的插件类似,很好,
发表于 2018-12-11 08:51:08 | 显示全部楼层
非常感谢楼主!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-12-27 10:43 , Processed in 0.246847 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表