Keith™ 发表于 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在调用类中引发事件之前处理所有事件,或者阻止所有事件。
页: 1 [2]
查看完整版本: 为 AutoCAD 创建功能区