public abstract bool CreateTagFrame(IFrameObj Container, BaseFormHandle CurrFormHandle, CMenuItem mnu, ref UpdateData data, ref string msg);
public bool GetFrameHandle(IFrameObj Container, BaseFormHandle CurrFormHandle, CMenuItem mnu, ref UpdateData data, ref string msg, ref BaseFormHandle retHandle) { msg = null; if (mnu == null) { return(false); } if (mnu.LinkValue == null || mnu.LinkValue.Trim().Length == 0) { msg = "目标为空!"; return(false); } Assembly ass = this.GetAssembly(); if (ass == null) { msg = "无法获得程序集!"; return(false); } string strFrmB = string.Format(mnu.LinkValue, GlobalShare.SystemAppInfo.AssemName) + "B"; Type tFrm = ass.GetType(strFrmB); if (mnu.linkType != LinkType.WebPage) { if (tFrm == null) { msg = string.Format("未找到类{0}!", mnu.LinkValue); return(false); } } retHandle = null; switch (mnu.linkType) { case LinkType.WebPage: { return(CreateWebPage(Container, CurrFormHandle, mnu, ref msg)); break; } case LinkType.Form: default: { BaseFormHandle objInst; if (mnu.Params == null || mnu.Params.Trim().Length == 0) { objInst = Activator.CreateInstance(tFrm, null) as BaseFormHandle; } else { objInst = Activator.CreateInstance(tFrm, mnu.Params) as BaseFormHandle; } if (objInst == null) { msg = "无法建立实例!"; return(false); } objInst.strUid = mnu.strUid; objInst.Title = mnu.MnuName; objInst.Tag = mnu; objInst.GridSource = mnu.GridSource; objInst.DetailSource = mnu.DetailSrouce; if (mnu.Module.Trim().Length > 0) { objInst.strModule = mnu.Module; } if (mnu.Screen.Trim().Length > 0) { objInst.strScreen = mnu.Screen; } if (mnu.Target.Trim().Length > 0) { objInst.strTarget = mnu.Target; } objInst.strKey = mnu.Key; objInst.Link = CurrFormHandle; objInst.TranData = mnu.TranDataMapping; if (objInst is ITranslateableInterFace && CurrFormHandle is IKeyForm) { FillTranData(CurrFormHandle, objInst as ITranslateableInterFace, mnu, ref data); } if (!this.CreateFrame(Container, CurrFormHandle, mnu, ref data, ref msg)) { return(false); } retHandle = objInst; break; } } msg = null; return(true); }
public abstract bool CreateWebPage(IFrameObj Container, BaseFormHandle CurrFormHandle, CMenuItem mnu, ref string msg);