Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        /// <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");
        }
Ejemplo n.º 3
0
        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);
            }
        }