//private void ComponentRemoved(object sender, ComponentEventArgs cea)
        //{
        //    //Doct ctr = cea.Component as Control;
        //    //if (ctr != null)
        //    //{
        //    //    IDesignerHost host = GetService(typeof(IDesignerHost)) as IDesignerHost;
        //    //    if (host != null)
        //    //    {
        //    //        System.Windows.Forms.Form form = host.RootComponent as System.Windows.Forms.Form;
        //    //        this.m_DockPanelManager.ParentForm = form;
        //    //    }
        //    //    GISShare.Controls.WinForm.WFNew.Forms.TBMessageBox.Show(cea.Component.ToString() + " | " + ctr.Name);
        //    //}
        //}

        private void CreateDocumentArea(object sender, EventArgs e)
        {
            if (this.m_DockPanelManager.DocumentArea != null)
            {
                return;
            }
            //
            IDesignerHost host = GetService(typeof(IDesignerHost)) as IDesignerHost;

            if (host == null)
            {
                return;
            }
            DocumentArea documentAreaPanel = host.CreateComponent(typeof(DocumentArea)) as DocumentArea;

            if (documentAreaPanel == null)
            {
                return;
            }
            documentAreaPanel.Dock = DockStyle.Fill;
            documentAreaPanel.Text = documentAreaPanel.Name;
            this.m_DockPanelManager.DocumentArea = documentAreaPanel;
            this.m_DockPanelManager.ParentForm.Controls.Add(documentAreaPanel);
            if (this.m_DockPanelManager.ParentForm.Controls.Count > 1)
            {
                this.m_DockPanelManager.ParentForm.Controls.SetChildIndex(documentAreaPanel, 0);
            }
        }
        public static DocumentArea GetScreenToImageRectangle(AxMODI.AxMiDocView viewer, Rectangle screenRectangle)
        {
            int          viewPage = 0;
            DocumentArea context  = new DocumentArea();

            Rectangle viewTarget = DocumentViewerSupport.GetScreenToImageRectangle(viewer, screenRectangle, out viewPage);

            context.Area = viewTarget;
            context.Page = viewPage;

            return(context);
        }
        public static Rectangle GetImageSelectionAreaToScreen(AxMODI.AxMiDocView viewer)
        {
            DocumentArea DocumentArea = GetImageSelection(viewer);

            if (DocumentArea == null)
            {
                return(Rectangle.Empty);
            }
            Rectangle clientRect = GetImageSelectionToClientRectangle(viewer, DocumentArea);
            Rectangle screenRect = viewer.RectangleToScreen(clientRect);

            return(screenRect);
        }
 public static DocumentArea GetImageSelection(AxMODI.AxMiDocView viewer)
 {
     try
     {
         int page, left, top, right, bottom;
         viewer.ImageSelection.GetBoundingRect(out page, out left, out top, out right, out bottom);
         DocumentArea DocumentArea = new DocumentArea();
         DocumentArea.Area = new Rectangle(left, top, right - left, bottom - top);
         DocumentArea.Page = page;
         return(DocumentArea);
     }
     catch (Exception ee)
     {
         return(null);
     }
 }
Пример #5
0
 public override void Initialize(IComponent component)
 {
     base.Initialize(component);
     this.m_DocumentArea = base.Component as DocumentArea;
 }
        public static Rectangle GetImageSelectionToClientRectangle(AxMODI.AxMiDocView viewer, DocumentArea DocumentArea)
        {
            int x1, y1, x2, y2;

            viewer.ImageToClient(DocumentArea.Page, DocumentArea.Area.X, DocumentArea.Area.Y, out x1, out y1);
            viewer.ImageToClient(DocumentArea.Page, DocumentArea.Area.Right, DocumentArea.Area.Bottom, out x2, out y2);
            return(new Rectangle(x1, y1, x2 - x1, y2 - y1));
        }
Пример #7
0
        /// <summary>
        /// Print mokkan info
        /// </summary>
        private void PrintDataGrid(Graphics g, Rectangle boundary)
        {
            DataGridView dtgrid = DocumentArea.GetDataGrid();

            // no mokkan
            if (dtgrid.Rows.Count == 0)
            {
                return;
            }
            // alignment
            StringFormat formatHeader = new StringFormat();

            formatHeader.Alignment     = StringAlignment.Center;
            formatHeader.LineAlignment = StringAlignment.Center;
            StringFormat formatText = new StringFormat();

            formatText.Alignment     = StringAlignment.Near;
            formatText.LineAlignment = StringAlignment.Center;

            // format
            Pen   penLine         = new Pen(Color.Black, 1);
            Brush brushBackground = MkaDefine.PrintBackColor;
            Brush brushHeader     = MkaDefine.PrintHeaderBrush;
            Brush brushText       = MkaDefine.PrintTextBrush;
            Font  fontHeader      = new Font(MkaDefine.PrintFontName, MkaDefine.PrintHeaderSize, FontStyle.Bold);
            Font  fontText        = new Font(MkaDefine.PrintFontName, MkaDefine.PrintTextSize);

            int[]     wid = new int[5];
            int[]     startX = new int[5];
            String[]  header = { MkaDefine.MokkanLblRBangou, MkaDefine.MokkanLblKariShakubun, MkaDefine.MokkanLblGaihouShoshuuJyouhou, MkaDefine.MokkanLblShasinBangouJyouhou, MkaDefine.MokkanLblBikou };
            int       i, j;
            int       startY = boundary.Top;
            int       rowHeight;
            Rectangle rec;


            wid[0]    = (int)(0.12 * boundary.Width);
            startX[0] = boundary.Left;
            wid[1]    = (int)(0.24 * boundary.Width);
            startX[1] = startX[0] + wid[0];
            wid[2]    = (int)(0.24 * boundary.Width);
            startX[2] = startX[1] + wid[1];
            wid[3]    = (int)(0.24 * boundary.Width);
            startX[3] = startX[2] + wid[2];
            wid[4]    = boundary.Width - wid[0] - wid[1] - wid[2] - wid[3];
            startX[4] = startX[3] + wid[3];

            for (i = 0; i < 5; i++)
            {
                rec = new Rectangle(startX[i], startY, wid[i], MkaDefine.PrintHeaderHeight);
                g.FillRectangle(brushBackground, rec);
                g.DrawRectangle(penLine, rec);
                g.DrawString(dtgrid.Columns[i].HeaderText, fontHeader, brushHeader, rec, formatHeader);
            }

            startY   += MkaDefine.PrintHeaderHeight;
            rowHeight = (int)((boundary.Height - MkaDefine.PrintHeaderHeight) / dtgrid.Rows.Count);
            for (j = 0; j < dtgrid.Rows.Count; j++)
            {
                for (i = 0; i < 5; i++)
                {
                    rec = new Rectangle(startX[i], startY, wid[i], rowHeight);
                    g.DrawRectangle(penLine, rec);
                    g.DrawString(MkaDefine.GetString(dtgrid[i, j].Value), fontText, brushText, rec, formatText);
                }
                startY += rowHeight;
            }
        }