标签: ribbon

MS Ribbon/Office UI许可证值得担心吗?

想象一下,我想创建一个与MS Word 2007非常相似的应用程序,在VS2008中使用C++和MFC Feature Pack.对于功能区,我有3种选择:

  1. 使用MFC Feature Pack中的功能区而不获取许可证.
    从长远来看可能是狡猾的.在你的产品取得全球性成功之前,你可以做到这一点,此时MS Legal将发送重量级产品.但他们真的能做些什么吗?

  2. 使用MFC Feature Pack中的功能区,但尝试获取许可证.
    我相信如果我应该尝试注册Office UI许可证,我可能会被拒绝,因为它是一个竞争产品:

    该许可证适用于任何平台上的应用程序,但与直接与当前具有新UI(Microsoft Word,Excel,PowerPoint,Outlook和Access)的五个Office应用程序竞争的应用程序除外.

  3. 使用第三方功能区控件.
    如果我要从BCGSoft购买BCGControlBar库的许可证大约500英镑- 其功能区栏由MS在MFC功能包中使用 - 那么我可以在我的应用程序中使用功能区没有问题.

除非绝对必要,否则我不想花钱.如果我使用选项#1直到我讨厌它,那么我可以放弃它并去#3?会为时已晚吗?

当然以上所有都是假设的......;)


注意:我不关心与我的产品和Word之间的相似性有关的任何专利或版权,这只是一个例子.此问题仅涉及功能区许可方面.

ribbon mfc-feature-pack

6
推荐指数
1
解决办法
4714
查看次数

新的WPF色带的深色背景变成渐变?

我在Windows 7中使用新版本的MS WPF功能区(版本MS WPF功能区3.5.40729.1),我正在尝试更改功能区的背景.如果我使用浅色背景颜色,一切看起来都很好.

但是,例如,如果我选择"黑色",则会显示黑色的白色渐变.似乎不可能移除白色并且仅具有黑色背景.它看起来很丑,特别是当每个Textcolor通常都是白色的时候.(Tabheaders得到白色背景,不再可读)

在样本中,(我按原样保留所有内容)如果我在Ribbon的属性中直接设置Background = Black,效果是一样的.

我需要设置或做什么才能摆脱白色渐变色?

wpf background ribbon

6
推荐指数
1
解决办法
2152
查看次数

如何动态创建功能区选项卡?

我想使用PrismV4,MEF,Ribbon开始开发新的应用程序.但现在,我有一个问题.如何动态创建功能区的选项卡?应用程序中的每个模块都可以在功能区中创建自己 每个标签可能有很多组.

怎么做到呢?我需要在哪里放置每个组的定义(使用什么控件(按钮,文本框,组合框等)和命令绑定以及如何?

我是否需要在Module中的某处编写XAML,或者所有这些都可以通过代码完成?最后一个问题,如何通知Ribbon(在Shell中)将这些选项卡添加到功能区?我应该使用EventAggregator从Module与Shell进行通信吗?要么?

c# ribbon prism mef mvvm

6
推荐指数
1
解决办法
4568
查看次数

使用Delphi XE的多个模态对话框出现问题

这是我的问题.

我有主应用程序运行并打开一个模态对话框1,此时主应用程序屏幕被禁用,所有焦点都在新对话框1上.

从这个对话框1我打开另一个模态对话框2.所以现在主屏幕和对话框1被禁用,这个对话框2具有所有焦点.到目前为止完美.

现在,当我关闭这个顶级对话框2时,我希望它只是跳回到dialog1.它专注于dialog1,但它现在已启用主应用程序,您可以单击任何向后发送dialog1但保持打开状态的应用程序.这导致1%的问题,用户不仅仅立即关闭对话框1并且点击周围.你可以想象QA不喜欢这个; o)

看起来Windows有点混乱,因为主应用程序似乎知道它仍然打开dialog1,因为功能区上的按钮仍然按下.

有任何想法吗?

我到目前为止所做的最好的是明确设置:

dialog1.PopupMode := pmExplicit; dialog1.PopupParent := MainFrm;

即使您单击主应用程序,当您关闭dialog2时,这似乎会将dialog1保持在主应用程序的顶部.因此,这将鼓励用户关闭它,但不是100%正确.

编辑:我已经创建了一个独立的应用程序,它按预期运行.关闭窗口时,控制和焦点从dialog2返回到dialog1,然后在dialog1关闭时返回主应用程序.在我们的功能区代码中提出了一些我无法找到的东西.哼!

windows delphi ribbon modal-dialog delphi-xe

6
推荐指数
1
解决办法
953
查看次数

使用WPF功能区(适用于.NET 4)和RibbonControlSizeDefinition对项目大小进行项目级别控制

根据MSDN文档,可以使用功能区:RibbonControlSizeDefinition通过设置ControlSizeDefinition属性来控制WPF功能区上项目的大小.有没有人使用这个属性有什么成功?我发现它完全被忽略了.我最初使用数据绑定设置它,但也尝试使用代码隐藏文件.

这个问题是类似的,但是在其中一条评论中正确地指出OP已经使用了RibbonControlGroup,因此看到了预期的行为.

我知道通常最好让功能区对尺寸进行自己的操作.可悲的是,这不是这个项目的选择.

我列出了我的XAML代码中不起作用的部分.

    <ribbon:RibbonTab Header="MyTab">
        <ribbon:RibbonGroup Header="MyGroup">
            <ribbon:RibbonButton Label="My big button" Name="BigButton"
                                 LargeImageSource="Images\Ribbon\assignments_duties_a2k_32.png"
                                 SmallImageSource="Images\Ribbon\assignments_duties_a2k_16.png">
                <ribbon:RibbonButton.ControlSizeDefinition>
                    <ribbon:RibbonControlSizeDefinition ImageSize="Large" IsLabelVisible="True" />
                </ribbon:RibbonButton.ControlSizeDefinition>
            </ribbon:RibbonButton>
            <ribbon:RibbonButton Label="My little button" Name="SmallButton"
                                 LargeImageSource="Images\Ribbon\assignments_duties_a2k_32.png"
                                 SmallImageSource="Images\Ribbon\assignments_duties_a2k_16.png">
                <ribbon:RibbonButton.ControlSizeDefinition>
                    <ribbon:RibbonControlSizeDefinition ImageSize="Small" IsLabelVisible="True" />
                </ribbon:RibbonButton.ControlSizeDefinition>
            </ribbon:RibbonButton>
        </ribbon:RibbonGroup>
    </ribbon:RibbonTab>
Run Code Online (Sandbox Code Playgroud)

wpf ribbon

6
推荐指数
1
解决办法
1836
查看次数

VSTO Word激活功能区选项卡

我的单词vsto加载项中有以下ribbon.xml:

<tab id="TabLetters" getVisible="IsLettersTabVisible" label="Letters">
 <group id="LettersGroup" label="Letters">
  <toggleButton id="NewWithTemplate"
              label="New using template Controls"
              size="large"
              imageMso="FileNew"
              onAction="NewTemplated" />
  </toggleButton>
 </group>
</tab>
Run Code Online (Sandbox Code Playgroud)

以及click事件背后的代码:

public void NewTemplated(Office.IRibbonControl control, bool value)
{
  CloseDocument();

  var doc = Globals.ThisAddIn.Application.Documents.Add(Template: @"LETTER_V2.dotx", Visible: true);
  doc.Activate();

  _ribbon.ActivateTab("TabLetters");
}
Run Code Online (Sandbox Code Playgroud)

我希望这会导致我的功能区选项卡打开一个新窗口,但它仍然是可见/当前的HOME选项卡.如何让我的标签显示出来?

c# vsto ribbon ms-word

6
推荐指数
1
解决办法
7090
查看次数

geom_ribbon不起作用 - eval中的错误(expr,envir,enclos):找不到对象'变量'

我尝试在geom_ribbon我的ggplot2情节中添加一个对象.在我的数据框中,我有NA(我猜)可能会导致问题的值.这是我拥有的数据框架的可重现示例:

base <- c(1:10, rep(NA, 10))
output1 <- c(rep(NA, 9), 10 - 0:10)
output2 <- c(rep(NA, 9), 10 + 0:10)
xaxis <- 1:20

df <- data.frame(xaxis, base, output1, output2)
df

     xaxis base output1 output2
  1      1    1      NA      NA
  2      2    2      NA      NA
  3      3    3      NA      NA
  4      4    4      NA      NA
  5      5    5      NA      NA
  6      6    6      NA      NA
  7      7    7      NA      NA
  8      8    8      NA      NA …
Run Code Online (Sandbox Code Playgroud)

plot ribbon r ggplot2

6
推荐指数
1
解决办法
4480
查看次数

功能区 labelControl GetSuperTip 不起作用

根据msdn 文档,alabelControl支持getSupertip在功能区控件上设置工具提示的属性。

但出于某种原因,工具提示不起作用。相同的实现适用于其他控件(如button),但不适用于labelControl。此外,其他回调(例如为getLabel标签工作),而不是getSupertip.

知道出了什么问题吗?

功能区 XML

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
      <tab id="custom" label="Custom AddIn">
        <group id="ConfigGroup" label="Configuration">
          <labelControl id="lb1" getLabel="GetLabel" getSupertip="GetSupertip" />
          <button id="bt1" label="Set Server URL" getSupertip="GetSupertip" />
          ...
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>
Run Code Online (Sandbox Code Playgroud)

功能区代码

public class CustomRibbon : ExcelRibbon, IExcelAddIn
{
    public string GetSupertip(IRibbonControl control)
    {
        switch (control.Id)
        {
            case "lb1":
                return "The current server address is: " + API.serverURL;
            case "bt1":
                return "Click …
Run Code Online (Sandbox Code Playgroud)

c# excel vsto ribbon ms-office

6
推荐指数
1
解决办法
884
查看次数

嵌套的RibbonApplicationMenuItem出错

我想建立一个RibbonApplicationMenu.在它内部应该是嵌套的,RibbonApplicationMenuItem或者RibbonApplicationSplitMenuItem像这样:

<ribbon:RibbonApplicationSplitMenuItem x:Name="item1" Header="open project" ImageSource="../img/img1.png">
       <ribbon:RibbonApplicationMenuItem x:Name="item11" Header="sub1" ImageSource="../img/img2.png" />
       <ribbon:RibbonApplicationMenuItem x:Name="item12" Header="sub2" ImageSource="../img/img3.png" />
       <ribbon:RibbonApplicationMenuItem x:Name="item13" Header="sub3" ImageSource="../img/img3.png" />
</ribbon:RibbonApplicationSplitMenuItem>
Run Code Online (Sandbox Code Playgroud)

首先没有显示错误,程序可以成功构建.

当我继续工作时,标记整个部分并给出错误:"索引'0'超出PathParameters-List的有效范围,长度为'0'".

这个错误的原因是什么?

c# wpf ribbon mvvm

6
推荐指数
1
解决办法
797
查看次数

无法从快速访问工具栏(QAT)菜单中删除自定义功能区控件

我有一个Word的自定义插件(也可能是Excel).

插件有一个带有多个组的功能区和多个控件(按钮).

这是一个正在进行的项目,一些功能区按钮供用户使用,一些用于测试/开发目的.

当我将产品发送到客户端时,我只显示某些按钮.我希望测试按钮完全不可见/不可访问.我尝试将测试按钮/组设置为visible = false.

这是有效的,因为功能区上没有按钮,但如果用户进入Word的快速访问工具栏>"更多命令">"从下选择命令"下拉列表并选择我的自定义插件...

然后用户可以看到我的所有按钮.即使是那些没有标签的人.

我尝试在功能区加载方法中循环控件并将测试控件设置为enabled = false,locked = true,generatemember = false,但这些都不会隐藏QAT菜单中的按钮.我也尝试过control.Dispose() - 没有快乐.

无论如何设置一个功能区按钮的属性,使其在QAT中完全不可见并且用户无法访问?

非常感谢

c# ribbon ribbon-control word-addins

6
推荐指数
1
解决办法
541
查看次数