乐筑天下

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

为 AutoCAD 创建功能区

[复制链接]

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2017-6-24 15:19:36 | 显示全部楼层
这是代码的一部分,在构建按钮时没有太多的绒毛。
RibbonButton btn1=新RibbonButton()
btn1.Text=“Button1”
btn1.Id=“TOGGLE1”
btn1.ShowImage=true
btn1.Image=Images.getBitmap(Properties.Resources.ToggleOnSm)
btn1.CommandHandler=新的RibbonCommandHandler()
RibbonButton btn2=新RibbonButton()
btn2.Text=“Button2”
btn2.Id=“TOGGLE2”
btn2.ShowImage=true
btn2.Image=Images.getBitmap(Properties.Resources.ToggleOnSm)
btn2.CommandHandler=新的RibbonCommandHandler()
RibbonCombo cmbo=新RibbonCombo()
cmbo.Add(btn1)
cmbo.Add(btn2)
这是RibboncommandHandler类
公共类RibboncommandHandler:System.Windows.Input.ICommand
{
公共布尔CanExecute(对象参数)
{
返回true
}
公共事件事件处理程序可以执行更改
公共void执行(对象参数)
{
文档doc=acadApp.DocumentManager.MdiActiveDocument
如果(参数是RibbonButton)
{
RibbonButton=参数为RibbonButton
文档编辑器。WriteMessage(“\nRibbonButton已执行:”+button.Text+“\n”)
}
}
}
为了看看我是否遗漏了什么,我首先将RibbonCombo作为全局添加到我的类中并添加事件,但Click不是其中之一。这也不是RibbonButton的活动
然后,我尝试将它们都子类化,添加必要的点击事件处理程序、鼠标按钮等……当它不在RibbonCombo中时,它会按它应该的方式触发,但如果它在ribbon中,则永远不会触发。
为了测试它,我将btn1直接添加到功能区面板和组合中。.一个触发,一个不触发。这就好像RibbonCombo在调用类中引发事件之前处理所有事件,或者阻止所有事件。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-4 14:05 , Processed in 0.190542 second(s), 52 queries .

© 2020-2025 乐筑天下

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