分享:为BOS的【链接】控件设定图标_求申精
金蝶云社区-华阳通用_叶
华阳通用_叶
5人赞赏了该文章 2,790次浏览 未经作者许可,禁止转载编辑于2016年07月29日 10:42:49

最近k/3cloud做门户首页要用到大图标按钮,论坛和sdk文档说明不全,我反编译了金蝶的DLL找了些方法,分享给大家。
BOS的链接控件,是可以设置图标的。
Panel面板控件也可设图标,但只支持jpg格式不能透明。
导航容器控件 也能设图标,但不能改图标大小(优点是可浮动定位),
链接控件的优点是下面有个文字说明,支持png图片并可改宽高,并且鼠标体验比较好,缺点是坐标绝地定位,
使用方法,写个构建插件 指定图标。
再写个表单插件写点击事件。

[Description("门户图标_事件插件")]
public class GE_EIP_PortalPart_ModuleBoxPlugIn : AbstractDynamicFormPlugIn
{
///


/// 数据加载之后,需要处理的功能,这里主要对界面样式进行处理,尽量不要对Datamodel进行处理
///

///
public override void AfterBindData(EventArgs e)
{
}
public override void ButtonClick(ButtonClickEventArgs e)
{
base.ButtonClick(e);
if (e.Key.EqualsIgnoreCase("FLink_1"))
{
DynamicFormShowParameter param = new DynamicFormShowParameter()
{
FormId = "PABR_EIP_Home_CSM",//要打开模块ID
PageId = System.Guid.NewGuid().ToString(),
ParentPageId = this.View.PageId,
};
param.OpenStyle.ShowType = ShowType.MainNewTabPage;//选项卡方式打开
this.View.ShowForm(param, null);
}
else if (e.Key.EqualsIgnoreCase("FBosIde"))
{
//HomePageBase.NewBosDesigner(this.View);
}
}
}

[Description("门户图标_构建插件")]
public class GE_EIP_PortalPart_ModuleBoxBuilder : AbstractDynamicWebFormBuilderPlugIn
//Kingdee.BOS.Business.PlugIn.InfoComponent.ConsoleBaseBuilderPlugIn
{
public override void CreateControl(CreateControlEventArgs e)
{

string key = e.ControlAppearance.Key;
if (key.EqualsIgnoreCase("FLink_1"))
{
e.Control["stylekey"] = "ImageHyperlinkButtonStyle";
e.Control["icon"] = "GE/images/home_app_1.png";
}else if (key.EqualsIgnoreCase("FLink_2"))
{
e.Control["stylekey"] = "ImageHyperlinkButtonStyle";
e.Control["icon"] = "GE/images/home_app_1.png";
}
base.CreateControl(e);
}
}