环境配置:
.net framework 2.0
vsto 2005 se
office PIA 11.0
RibbonXml:
View Code
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="Ribbon_Load">
<ribbon>
<tabs>
<tab idMso="TabAddIns" label="tabName">
<group id="LoginGroup" label="groupName">
<button label="btnValue" id="btnId" size="large" tag="f_L" onAction="clickFunc" getImage="getImg" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Ribbon.cs
View Code
public string GetCustomUI(string ribbonID) {
return Properties.Resources.RibbonXML;
}
//菜单项的点击事件处理
public void frmOpen(IRibbonControl control)
{
MessageBox.Show(control.Tag);
}
//菜单按钮图标的设定,可根据按钮设定相应的图标
public IPictureDisp getImg(IRibbonControl irc){
stdole.IPictureDisp picDisp = null;
Icon img=Properties.Resources.icon;
picDisp = PictureConverter.IconToPictureDisp(img);
return picDisp;
}
PictureConverter 类
View Code
internal class PictureConverter : System.Windows.Forms.AxHost
{
private PictureConverter() : base(String.Empty) { }
static public stdole.IPictureDisp ImageToPictureDisp(Image image)
{
return (stdole.IPictureDisp)GetIPictureDispFromPicture(image);
}
static public stdole.IPictureDisp IconToPictureDisp(Icon icon)
{
return ImageToPictureDisp(icon.ToBitmap());
}
static public Image PictureDispToImage(stdole.IPictureDisp picture)
{
return GetPictureFromIPicture(picture);
}
}

posted on
浙公网安备 33010602011771号