private void SetFont(Font font, int formItemID) { windowTextFont = font; FormProvoider.FontWnd fonts = new FormProvoider.FontWnd(); fonts.ftSize = Convert.ToInt32(font.Size); fonts.ftStyle = GetFontStyle(font); fonts.itemName = font.Name; FormProvoider.SetFormItemFont(formItemID, fonts); }
/// <summary> /// 生成表单文件 /// </summary> /// <param name="formDesignerWorkbenchWindow"></param> /// <param name="FilePath"></param> /// <returns></returns> //public bool Execute(FormDesignerWorkbenchWindow formDesignerWorkbenchWindow, out string xmlString) //{ // bool isCheckerok = true; // xmlString = string.Empty; // try // { // List<object> list = new List<object>(); // list.Add(formDesignerWorkbenchWindow.formValidatesCollection); // //list.Add(formDesignerWorkbenchWindow.dataDefineResource); // list.Add(formDesignerWorkbenchWindow.formDataCollection); // list.Add(formDesignerWorkbenchWindow.formRightsCollection); // BuildRuleChecker.CheckReference(formDesignerWorkbenchWindow); // string message = string.Empty; // if (isCheckerok) // { // xmlString = DistFormXmlBuilder.BuildXml(list,formDesignerWorkbenchWindow, // formDesignerWorkbenchWindow.SheetLayoutXML); // } // } // catch(Exception E) // { // isCheckerok = false; // MessageBox.Show(E.Message); // } // return isCheckerok; //} /// <summary> /// 读取单个表单文件 /// </summary> /// <param name="dockFormDesigner"></param> /// <param name="filePath"></param> public void ResetXml(DockFormDesigner dockFormDesigner, string fileContent) { #region //控件 FormXmlParser formXmlParser = new FormXmlParser(fileContent, true); PageProperty.IsPrint = formXmlParser.GetPrintProperty("/Form", "isprint"); Dictionary <string, string> dic = new Dictionary <string, string>(); ControlCollection controlCollection = formXmlParser.GetControls(dockFormDesigner, "/Form/Control", out dic); string width, height; dic.TryGetValue("width", out width); dic.TryGetValue("height", out height); FormProvoider.SetFormViewSize(Convert.ToInt32(width), Convert.ToInt32(height)); foreach (KeyValuePair <string, object> kvp in controlCollection) { #region FormItemType == 5 if (((GeneralAttribute)kvp.Value).FormItemType == 5) { FormProvoider.Rect rcRect = new FormProvoider.Rect(); SetRect(out rcRect, (GeneralAttribute)kvp.Value); FormProvoider.CreateFormItem(Convert.ToInt32(((GeneralAttribute)kvp.Value).FormItemType), rcRect, Convert.ToInt32(kvp.Key), ((GeneralAttribute)kvp.Value).ExtensionType); TableContorlAttribute tableContorlAttribute = (TableContorlAttribute)kvp.Value; int page = 0; foreach (KeyValuePair <string, Group> kvpGroup in tableContorlAttribute.Groups) { FormProvoider.InsertTabPage(((GeneralAttribute)kvp.Value).FormItemId, kvpGroup.Value.Name, page); foreach (KeyValuePair <string, GeneralAttribute> kvpChildAttribute in kvpGroup.Value.GroupControls) { FormProvoider.Rect rcRectChild = new FormProvoider.Rect(); SetRect(out rcRectChild, (GeneralAttribute)kvpChildAttribute.Value); FormProvoider.CreateChlidFormItem(kvpChildAttribute.Value.FormItemType, rcRectChild, Convert.ToInt32(kvpChildAttribute.Key), Convert.ToInt32(kvp.Key), page, ((GeneralAttribute)kvpChildAttribute.Value).ExtensionType); if (((GeneralAttribute)kvpChildAttribute.Value).Multiline == true && ((GeneralAttribute)kvpChildAttribute.Value).FormItemType == 1) { FormProvoider.SetFormItemStyle(Convert.ToInt32(kvpChildAttribute.Key), 0x00010000, true);//0x00010000 } if (((GeneralAttribute)kvpChildAttribute.Value).FormItemType == 7) { //SetDataGrid(formDesignerWorkbenchWindow, kvpChildAttribute.Key, kvpChildAttribute.Value); } if (((GeneralAttribute)kvpChildAttribute.Value).FormItemType == 20) { SetRadioButtonList(kvpChildAttribute.Value); } if (((GeneralAttribute)kvpChildAttribute.Value).FormItemType == 4 || ((GeneralAttribute)kvpChildAttribute.Value).FormItemType == 15 || ((GeneralAttribute)kvpChildAttribute.Value).FormItemType == 3 || ((GeneralAttribute)kvpChildAttribute.Value).FormItemType == 6) { FormProvoider.SetStaticText(Convert.ToInt32(kvpChildAttribute.Key), kvpChildAttribute.Value.Text); } if (((GeneralAttribute)kvpChildAttribute.Value).FormItemType == 4) { FormProvoider.FontWnd font = new FormProvoider.FontWnd(); font.itemName = ((GeneralAttribute)kvpChildAttribute.Value).WindowTextFont.FontFamily.Name; font.ftSize = Convert.ToInt32(((GeneralAttribute)kvpChildAttribute.Value).WindowTextFont.Size); font.ftStyle = GeneralAttribute.GetFontStyle(((GeneralAttribute)kvpChildAttribute.Value).WindowTextFont); FormProvoider.SetFormItemFont(((GeneralAttribute)kvpChildAttribute.Value).FormItemId, font); FormProvoider.SetFormItemStyle(((GeneralAttribute)kvpChildAttribute.Value).FormItemId, 0x00800000, ((GeneralAttribute)kvpChildAttribute.Value).Border); } } page++; } } #endregion else if (((GeneralAttribute)kvp.Value).FormItemType == 7) { FormProvoider.Rect rcRect = new FormProvoider.Rect(); SetRect(out rcRect, (GeneralAttribute)kvp.Value); FormProvoider.CreateFormItem(Convert.ToInt32(((GeneralAttribute)kvp.Value).FormItemType), rcRect, Convert.ToInt32(kvp.Key), ((GeneralAttribute)kvp.Value).ExtensionType); //SetDataGrid(formDesignerWorkbenchWindow, kvp.Key, kvp.Value); } else if (((GeneralAttribute)kvp.Value).FormItemType == 20) { FormProvoider.Rect rcRect = new FormProvoider.Rect(); SetRect(out rcRect, (GeneralAttribute)kvp.Value); FormProvoider.CreateFormItem(Convert.ToInt32(((GeneralAttribute)kvp.Value).FormItemType), rcRect, Convert.ToInt32(kvp.Key), ((GeneralAttribute)kvp.Value).ExtensionType); SetRadioButtonList(kvp.Value); } else if (((GeneralAttribute)kvp.Value).FormItemType == 255)//直线 { FormProvoider.Rect rcRect = new FormProvoider.Rect(); SetRect(out rcRect, (GeneralAttribute)kvp.Value); FormProvoider.CreateFormItem(Convert.ToInt32(((GeneralAttribute)kvp.Value).FormItemType), rcRect, Convert.ToInt32(kvp.Key), ((GeneralAttribute)kvp.Value).ExtensionType); } else { FormProvoider.Rect rcRect = new FormProvoider.Rect(); SetRect(out rcRect, (GeneralAttribute)kvp.Value); FormProvoider.CreateFormItem(Convert.ToInt32(((GeneralAttribute)kvp.Value).FormItemType), rcRect, Convert.ToInt32(kvp.Key), ((GeneralAttribute)kvp.Value).ExtensionType); if (((GeneralAttribute)kvp.Value).FormItemType == 1) { DockFormDesigner.controlIdItems.Add(kvp.Key); } else { FormProvoider.SetStaticText(Convert.ToInt32(kvp.Key), ((GeneralAttribute)kvp.Value).Text); } //Dap2xProvoider.SetFormItemStyle(((GeneralAttribute)kvp.Value).FormItemId, 0x00800000, false); if (((GeneralAttribute)kvp.Value).FormItemType == 1 && ((GeneralAttribute)kvp.Value).Multiline == true) { FormProvoider.SetFormItemStyle(((GeneralAttribute)kvp.Value).FormItemId, 0x00010000, true); } else { FormProvoider.SetFormItemStyle(((GeneralAttribute)kvp.Value).FormItemId, 0x00010000, false); } if (((GeneralAttribute)kvp.Value).FormItemType == 4) { FormProvoider.FontWnd font = new FormProvoider.FontWnd(); font.itemName = ((GeneralAttribute)kvp.Value).WindowTextFont.FontFamily.Name; font.ftSize = Convert.ToInt32(((GeneralAttribute)kvp.Value).WindowTextFont.Size); font.ftStyle = GeneralAttribute.GetFontStyle(((GeneralAttribute)kvp.Value).WindowTextFont); FormProvoider.SetFormItemFont(((GeneralAttribute)kvp.Value).FormItemId, font); Color color = ((GeneralAttribute)kvp.Value).WindowTextColor; FormProvoider.SetFormItemColor(((GeneralAttribute)kvp.Value).FormItemId, color.B << 16 | color.G << 8 | color.R); //边框 FormProvoider.SetFormItemStyle(((GeneralAttribute)kvp.Value).FormItemId, 0x00800000, ((GeneralAttribute)kvp.Value).Border); } } } #endregion //formDesignerWorkbenchWindow.formDataCollection = formDesignerWorkbenchWindow.FormParameter.FormDataCollection; //formDesignerWorkbenchWindow.formValidatesCollection = getObjectFromXml.GetFormValidatesCollection("/Form/Validation");//formValidatesCollection //formDesignerWorkbenchWindow.formRightsCollection = getObjectFromXml.GetFormRightsCollection("/Form/Right");//formRightsCollection ////zhanben20100919 新增表单脚本功能 //formDesignerWorkbenchWindow.FormScriptString = getObjectFromXml.GetFormScriptString("/Form/Script"); }
public void FormItemProperty() { try { ControlItemAttribute attr = new ControlItemAttribute(); if (_selectedControl.formItemType != 0) { attr.FormItemInfo = _selectedControl; StringBuilder windowtext = new StringBuilder(2560); FormProvoider.GetStaticText(_selectedControl.formItemID, windowtext, windowtext.Capacity); attr.Left = _selectedControl.left; attr.Top = _selectedControl.top; attr.Width = _selectedControl.width; attr.Height = _selectedControl.height; attr.FormItemId = _selectedControl.formItemID; attr.FormItemType = _selectedControl.formItemType; attr.Text = windowtext.ToString(); attr.ControlType = ControlMapping.GetInstance().GetExtensionTypeName(_selectedControl.formItemType.ToString(), _selectedControl.extension.ToString()); if (_selectedControl.formItemType != 0) //==4 { //get the contorl's font FormProvoider.FontWnd fontWnd = new FormProvoider.FontWnd(); FormProvoider.GetFormItemFont(_selectedControl.formItemID, out fontWnd); if (!string.IsNullOrEmpty(fontWnd.itemName)) { Font font = GeneralAttribute.SetFontStyle(new FontFamily(fontWnd.itemName), fontWnd.ftSize , fontWnd.ftStyle); attr.SetAttributeFont(font); } //点击控件显示其 绑定信息 if (_selectedControl.formItemType == 1 && FormProvoider.GetSelectedFormItemsCount() == 1) { attr.Text = attr.DataItem; } //get the contorl's color Int32 oldColor; FormProvoider.GetFormItemColor(_selectedControl.formItemID, out oldColor); attr.SetAttributeColor(ColorTranslator.FromOle(oldColor)); attr.Border = FormProvoider.BorderStyle(_selectedControl); } //_focusedControl = FormParameter.FormId + "_" + _selectedControl.formItemID.ToString(); DockFormDesigner.controlDictionary.AddValue(_selectedControl.formItemID, _selectedControl.formItemID.ToString()); } else { attr.IsPrint = PageProperty.IsPrint.ToString(); //SelectedItemId = _selectedControl.formItemID.ToString(); //_selectedItemType = _selectedControl.formItemType.ToString(); } propertyGridControl1.SelectedObject = attr; //propertyGridControl1.RetrieveFields(); //FormParameter.ControlsCollection = controlsDictionary; } catch (Exception E) { //XtraMessageBox.Show(E.Message, "系统提示", MessageBoxButtons.OK); MainForm.ERROR(E.Message); } }