乐筑天下

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

仅在Icon. resx文件之间切换

[复制链接]

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2016-5-15 12:22:07 | 显示全部楼层 |阅读模式
我正在尝试(目前不是很好)让我的项目的功能区图标根据AutoCAD中的当前主题正确更新...光明与黑暗,当使用CUIx定义命令和功能区项目时,我知道这是如何完成的。但是,我们在代码中创建了我们的功能区,我不想做这样的事情:   //在我的初始化代码中。
公共静态bool darkTheme =(应用程序,get variable(" color theme ")= = 0);。

//然后根据需要在SystemeVariableChanged事件处理程序中设置它,。
//所有图像都在同一个资源文件中。
//然后在我的功能区按钮中编写这样的代码:。
Rb = new ribbon button();。
rb,Image =黑暗主题?MyApp.flattenobjects_small,ToBitmapImageFromPng():myapp . flattenobjects _ small _ light。ToBitmapImageFromPng();。
rb,LargeImage = darkTheme?myapp . flattenobjects . tobitmapimagefrompng():myapp . flattenobjects _ light,ToBitmapImageFromPng();。
从表面上看,这似乎是可行的,只是有200多个按钮,而且还在增加。我更喜欢这样做:   //有两个资源文件,MyAppDark.resx和MyAppLight.resx,其中的图标名称相同,但图标不同。。
//有一个MyApp变量,该变量可以设置为在SystemeVariableChanged事件处理程序中引用的正确变量。
如果(应用,get variable(" color theme ")= = 0 。
MyApp = MyAppDark。
否则。
MyApp = MyAppLight。

//那么我的功能区按钮就可以是:。
Rb = new ribbon button();。
rb,image = myapp . flatten objects _ small,ToBitmapImageFromPng();。
rb,large image = myapp . flattenobjects . tobitmapimagefrompng();。
我被难住了,因为我需要将MyApp初始化为...我可以简单地这样做吗?:公共静态对象MyApp = MyAppDark如果是这样,我不知道该怎么做,因为这不起作用...。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2016-5-15 14:31:09 | 显示全部楼层
杰夫,我真的认为在官方论坛上有一篇关于这个的文章指向了一篇博客文章和一个沼泽页面。我现在没有,但我会查找并在以后分享。我现在在移动。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2016-5-15 15:25:29 | 显示全部楼层
谢谢基思。我确实找到了几篇博文,其中一篇指向沼泽,但它们都是关于CUIx方法的。我想避免使用CUIx,因为无法即时启用/禁用功能区按钮。我们使用这种方法根据购买的模块来允许/禁止使用按钮。在引入双色主题之前,它一直工作得很好。
回复

使用道具 举报

71

主题

928

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1230
发表于 2016-5-15 18:19:07 | 显示全部楼层

创建一个完整的CUIx,或者为每个模块创建一个CUIx(诚然,这是一个加载的任务)-为什么您不能“动态启用/禁用按钮”?
如果您创建CUIx,您将分配必要的Ribbon ID,然后可以找到必要的RibbonButton并禁用,不是吗?
干杯
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2016-5-17 12:10:51 | 显示全部楼层

如果MyAppBlack和MyAppLight实现了一个公共接口,或者继承自相同的基类,或者两者兼而有之,那么您将声明MyApp变量为该接口或基类型。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-4 18:55 , Processed in 0.333055 second(s), 62 queries .

© 2020-2025 乐筑天下

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