环境配置:
.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 2011-06-24 16:04  Diore  阅读(1154)  评论(0)    收藏  举报