示例#1
0
        //Main function
        private void Okbtn_Click(object sender, EventArgs e)
        {
            try
            {
                imagefield           = new LabelDef.ImageField(new ACA.LabelX.Tools.CoordinateSystem(200, 200, GetString("MILLIMETER")));
                imagefield.ID        = IDtxt.Text;
                imagefield.PositionX = new Length(System.Convert.ToInt32(XPostxt.Text), System.Drawing.GraphicsUnit.Millimeter);
                imagefield.PositionY = new Length(System.Convert.ToInt32(YPostxt.Text), System.Drawing.GraphicsUnit.Millimeter);
                imagefield.Rotation  = System.Convert.ToInt32(rotationcombo.SelectedItem.ToString());

                imagefield.KeepRatio = keepratiocheck.Checked;

                if (greyscalecheck.Checked)
                {
                    imagefield.Color = LabelDef.ImageField.ColorStyle.Grayscale;
                }
                else
                {
                    imagefield.Color = LabelDef.ImageField.ColorStyle.Color;
                }

                if (manualwhcheck.Checked && !heighttxt.Text.Equals("0"))
                {
                    imagefield.Height = new Length(System.Convert.ToInt32(heighttxt.Text), System.Drawing.GraphicsUnit.Millimeter);
                }

                if (manualwhcheck.Checked && !widthtxt.Text.Equals("0"))
                {
                    imagefield.Width = new Length(System.Convert.ToInt32(widthtxt.Text), System.Drawing.GraphicsUnit.Millimeter);
                }

                if (resizestylecombo.SelectedIndex == 0)
                {
                    imagefield.Scale = LabelDef.ImageField.ScaleStyle.Normal;
                }
                else if (resizestylecombo.SelectedIndex == 1)
                {
                    imagefield.Scale = LabelDef.ImageField.ScaleStyle.Stretch;
                }

                if (referencecombo.SelectedItem.ToString().Equals(GetString("NOTHING")))
                {
                    imagefield.ValueRef = null;
                }
                else
                {
                    imagefield.ValueRef = referencecombo.SelectedItem.ToString();
                }


                DialogResult = DialogResult.OK;
                this.Close();
            }
            catch
            {
                MessageBox.Show(GetString("INVALIDINPUTERROR"), GetString("INVALIDINPUTERRORTITLE"), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#2
0
        //Main Function
        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
            Graph = e.Graphics;
            float TranslateX = 0.0f;
            float TranslateY = 0.0f;

            //System.Diagnostics.Debug.WriteLine(string.Format("width {0}, height {1}", this.Size.Width, this.Size.Height));
            if (useWhiteBackground)
            {
                Graph.FillRectangle(Brushes.White, 0, 0, this.Size.Width, this.Size.Height); //Color label white
            }
            else
            {
                HatchBrush bb = new HatchBrush(HatchStyle.LargeCheckerBoard, Color.LightGray, Color.White);
                Graph.FillRectangle(bb /*Brushes.White*/, 0, 0, this.Size.Width, this.Size.Height); //Color label white
                bb.Dispose();
            }
            //Graph.DrawRectangle(new Pen(Brushes.CadetBlue), 0, 0, this.Size.Width, this.Size.Height); //showit, edge filling...
            //mve,1.3.2
            Matrix mat = new Matrix();

            mat.Scale(zoomFactor, zoomFactor, MatrixOrder.Append);
            Graph.Transform = mat;
            if (rotation != 0)
            {
                Graph.RotateTransform(rotation, MatrixOrder.Append);
                if (rotation > 0)
                {
                    TranslateX = 0.0f;// -Size.Width / 2;
                    TranslateY = -Size.Width / zoomFactor;
                }
                else
                {
                    TranslateX = -Size.Height / zoomFactor;
                    TranslateY = 0.0f;
                }
                Graph.TranslateTransform(TranslateX, TranslateY);
            }
            mat.Dispose();
            mat = Graph.Transform;
            Boolean isSelectedField = false;

            foreach (LabelDef.Field field in drawingreferenceList.Values) //Draw each element in drawingreferenceList
            {
                field.BaseTransformation = mat;
                //mve,1.3.2
                Graph.ResetTransform(); //Al drawing routines can perform transforms. Reset here to start fresh.
                //if (zoomFactor != 1.0f)
                //{
                Graph.Transform = mat;
                //    if (rotation != 0)
                //    {
                //        Graph.RotateTransform(rotation, MatrixOrder.Append);
                //        Graph.TranslateTransform(TranslateX, TranslateY);
                //    }
                //}
                //*
                if (field.ID.Equals(selectedFieldId))
                {
                    isSelectedField = true;
                }
                else
                {
                    isSelectedField = false;
                }
                if (field is LabelDef.TextFieldGroup)
                {
                    LabelDef.TextFieldGroup textfieldgroup = (LabelDef.TextFieldGroup)field;
                    returnRectangle = textfieldgroup.Draw(Graph, new System.Drawing.Point(0, 0), labelset, 1043, isSelectedField);
                }
                else if (field is LabelDef.TextField)
                {
                    LabelDef.TextField          textfield    = (LabelDef.TextField)field;
                    System.Drawing.StringFormat stringFormat = new System.Drawing.StringFormat(StringFormatFlags.NoWrap);
                    if (textfield.printFormat == null)
                    {
                        stringFormat.Alignment = StringAlignment.Near;
                    }
                    else
                    {
                        stringFormat.Alignment = textfield.printFormat.format.GetAsStringAlignment();
                    }
                    returnRectangle = textfield.Draw(Graph, new System.Drawing.Point(0, 0), labelset, 1043, isSelectedField);
                }
                else if (field is LabelDef.ImageField)
                {
                    LabelDef.ImageField imagefield = (LabelDef.ImageField)field;
                    returnRectangle = imagefield.Draw(Graph, new System.Drawing.Point(0, 0), labelset, 1043, isSelectedField);
                }
                else if (field is LabelDef.BarcodeField)
                {
                    LabelDef.BarcodeField barcodefield = (LabelDef.BarcodeField)field;
                    returnRectangle = barcodefield.Draw(Graph, new System.Drawing.Point(0, 0), labelset, 1043, isSelectedField);
                }

                /* System.Diagnostics.Debug.WriteLine(
                 *       string.Format("{6}: Returnrectangle: {0},{1} -> {2},{3}  Contains? {4},{5} ?",
                 *                       returnRectangle.X,
                 *                       returnRectangle.Y,
                 *                       returnRectangle.Right,
                 *                       returnRectangle.Bottom,
                 *                       selectX, selectY,
                 *                       field.ID.ToString()
                 *                    )
                 *     );*/
                if (detectedClickToSelect)
                {
                    if (returnRectangle.Contains(new System.Drawing.Point(selectX, selectY)))
                    {
                        fieldIDToSelect       = field.ID;
                        detectedClickToSelect = false;
                    }
                }
            }
            detectedClickToSelect = false;
            mat.Dispose();
        }