示例#1
0
        private void FindDialogControls(string id)
        {
            var dialogRegEx = FindExistingDialog(id);

            if (dialogRegEx == null)
            {
                return;
            }
            _oldDialogFound = true;
            var controls = dialogRegEx.Match(_fileContent).Groups[1].Value;

            if (string.IsNullOrEmpty(controls))
            {
                return;
            }
            var lines = controls.Split(new[] { "\r\n", "\n" }, StringSplitOptions.None);

            foreach (var line in lines)
            {
                var controlId = DialogControl.ParseId(line);
                if (string.IsNullOrEmpty(controlId))
                {
                    continue;
                }
                _replaceOldControlIds.Add(controlId);
            }
        }
示例#2
0
        private void AddControl(Control control, string controlType, HashSet <string> styles, string subType = null)
        {
            var style          = GetStyles(styles);
            var controlBuilder = new StringBuilder();

            controlBuilder.Append(AddControlType(controlType));
            AddControlType(controlType);
            var type = string.IsNullOrEmpty(subType)
                                ? DialogControl.GetControlType(controlType)
                                : DialogControl.GetControlType(controlType, subType);
            string controlId;

            if (!NoStaticControls && type.IsDefaultStatic)
            {
                controlId = "IDC_STATIC";
            }
            else
            {
                controlId = GetId(control, type.DefaultId);
                var controlData = new ControlData(controlId)
                {
                    Anchor = control.Anchor, TabIndex = control.TabIndex
                };
                var partentId = GetParentId(control.Parent);
                if (!string.IsNullOrEmpty(partentId))
                {
                    controlData.ParentId = partentId;
                }
                _result.NewControlValues.Add(controlData);
            }
            var controlText = control.Text.Replace("\"", "\"\"");

            switch (type.PropertiesOrder)
            {
            case ControlPropertiesOrder.IdDimensionsStyles:
                controlBuilder.AppendLine($"{controlId},{CalculateDimension(control)}{style}");
                break;

            case ControlPropertiesOrder.TextIdDimensionStyles:
                controlBuilder.AppendLine($"\"{controlText}\",{controlId},{CalculateDimension(control)}{style}");
                break;

            case ControlPropertiesOrder.TextIdSubtypeStylesDimension:
                controlBuilder.AppendLine($"\"{controlText}\",{controlId},\"Button\"{style},{CalculateDimension(control)}");
                break;

            case ControlPropertiesOrder.ReferenceIdDimensionStyles:                     //ToDo
                controlBuilder.AppendLine($"{"ToDo"},{controlId},{CalculateDimension(control)}{style}");
                break;
            }
            _controls.Add(new Tuple <Control, string, string>(control, controlBuilder.ToString(), controlId));
        }