乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 149|回复: 9

打开cad如何自动加载ribbon菜单

[复制链接]

22

主题

99

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
187
发表于 2013-8-7 17:05:00 | 显示全部楼层 |阅读模式
写了一个自定义ribbon菜单和一个自定义栏,
我想在打开cad的时候就可以自动加载工具栏和ribbon菜单。
我将自定义工具栏和自定义ribbon菜单的方法写在继承自
Autodesk..Runtime.IExtensionApplication类的Initialize()方法中。
写了一个lisp文件放在cad启动目录中,让他启动时自动加载这个dll。
但是只能加载工具栏,ribbon菜单却无法加载。
看了一下cad的命令,是在启动cad时加载_ribbon命令的。
所以猜想是因为cad本身的ribbon命令还没执行完毕,
RibbonControl对象还为空,所以没办法加载自定义的ribbon菜单。
我想如果我知道cad命令已经加载完了,再控制我的dll自动加载是否就可以了呢?
如果可以,我该如何获得cad启动后自身命令的加载状态?
还望大家指点。
谢谢!
回复

使用道具 举报

8

主题

138

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
170
发表于 2013-8-7 20:29:00 | 显示全部楼层
可否挂个命令事件 commandend 之后再加载你的
回复

使用道具 举报

22

主题

99

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
187
发表于 2013-8-8 10:33:00 | 显示全部楼层

有道理!但是Commanded之后的接口是哪个呢?
回复

使用道具 举报

8

主题

138

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
170
发表于 2013-8-9 21:40:00 | 显示全部楼层
document.CommandEnded在这个事件之后行不?
回复

使用道具 举报

22

主题

99

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
187
发表于 2013-8-9 22:21:00 | 显示全部楼层
多谢chmenf087 !
是在Initialize里委托ComponentManager.ItemInitialized,在此判断Ribbon是否存在,接着创建Ribbon
感谢晓东的回答。
public void Initialize()
{
      Autodesk.Windows.ComponentManager.ItemInitialized += new EventHandler(ComponentManager_ItemInitialized);
}
void ComponentManager_ItemInitialized(object sender, RibbonItemEventArgs e)
{  
if (Autodesk.Windows.ComponentManager.Ribbon != null)
{
      createRibbon();
     Autodesk.Windows.ComponentManager.ItemInitialized -= new EventHandler(ComponentManager_ItemInitialized);
}  
}
public static void createRibbon()
{
     //add ribbon here..
}
public void Terminate()
{
}
回复

使用道具 举报

4

主题

12

帖子

1

银币

初来乍到

Rank: 1

铜币
28
发表于 2013-10-14 01:44:00 | 显示全部楼层

请教下,在CAD2007环境已实现注册表自动加载,如何实现自动启动命令?
回复

使用道具 举报

22

主题

99

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
187
发表于 2013-10-15 14:58:00 | 显示全部楼层

直接在注册的时候把命令添加添加进注册表。
回复

使用道具 举报

4

主题

12

帖子

1

银币

初来乍到

Rank: 1

铜币
28
发表于 2013-10-15 23:59:00 | 显示全部楼层

请问具体怎么添加命令注册信息?
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
1
发表于 2015-5-5 17:24:00 | 显示全部楼层

代码差不多 ,就是不知道怎么在注册的时候把命令添加进注册表,看到了能否回复下呀
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
1
发表于 2015-12-14 16:19:00 | 显示全部楼层

大神,能否把这段代码共享出来,我是新手,很需要。
自己试了很久都不能正常加载工具条。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 09:59 , Processed in 0.192202 second(s), 72 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表