如何将自定义图像添加到选项卡和上下文菜单中的功能区按钮。
我尝试了将图像添加到功能区按钮但没有运气:-(。我正在设计Excel的插件。我在标题中添加了这个。
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load" loadImage="Ribbon_LoadImage">
<button id="btn2d" keytip="L" screentip="2D Visualization" supertip="2D Part Visualization" label="2D" size="large"/>
<contextMenu idMso="ContextMenuCell">
<button id="btn1" label="my label"/>
</customUI>
代码段
public Bitmap Ribbon_LoadImage(IRibbonControl control)
{
switch (control.Id)
{
case "btn2": return new Bitmap(Properties.Resources.btn1);
case "btn3": return new Bitmap(Properties.Resources.btn2);
case "btn4": return new Bitmap(Properties.Resources.btn3);
case "btn5": return new Bitmap(Properties.Resources.Filter);
case "btnOpt6": return new Bitmap(Properties.Resources.Settings);
case "btnInform7": return new Bitmap(Properties.Resources.Vis);
case "btnHelpPage": return new Bitmap(Properties.Resources.Help);
}
return null;
}
请帮帮我。 我正在使用.net 4.0 c#VSTO excel addin for Office 2010。
答案 0 :(得分:27)
您必须为每个按钮使用getImage
属性,并且回调应返回位图。
在Ribbon.xml中
<button id="btnLogo" getImage="imageSuper_GetImage" size="large" />
Ribbon.cs
public Bitmap imageSuper_GetImage(IRibbonControl control)
{
return Resources.super_logo;
}
答案 1 :(得分:0)
您必须为每个按钮使用getImage
属性,并且回调应返回位图。
在Ribbon.xml中
<button id="btnLogo" getImage="imageSuper_GetImage" size="large" />
Ribbon.cs
public Bitmap imageSuper_GetImage(IRibbonControl control)
{
return Properties.Resources.super_logo;
}
答案 2 :(得分:0)
您可以从LoadImage Function获取图像。
您需要编写以下内容:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
loadImage="GetImage">
public stdole.IPictureDisp GetImage(string imageName){
return
PictureConverter.IconToPictureDisp(Properties.Resources.MyIcon);
}
答案 3 :(得分:0)
这是一篇旧帖子,但我想我会添加我的答案,以防有人仍在寻找示例(就像我一样)...
在 Ribbon.xml 中,loadImage="GetImage" 引用了 Ribbon.cs 中的回调,该回调将从资源中获取图像。在下面的示例中,我使用 image="Report_256x" 来触发回调。
<?xml version="1.0" encoding="UTF-8"?>
<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2009/07/customui" loadImage="GetImage">
<ribbon>
<tabs>
<tab idMso="TabMail">
<group id="group1" label="Priority Tracker">
<button id="btnWIPReport" onAction="btnWIPReport_Click" label="WIP Report" size="large" image="Report_256x"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
我在示例中使用的回调看起来像这样...
public System.Drawing.Image GetImage(string ImageName)
{
return (System.Drawing.Image)Properties.Resources.ResourceManager.GetObject(ImageName);
}