Exemplo n.º 1
0
        public ControlAttributes GetTopMostControl()
        {
            ControlAttributes attr = new ControlAttributes();

            int largestIndex = 0;

            foreach (Control control in this.Controls)
            {
                CustomWinForm winForm = control as CustomWinForm;
                if (winForm != null)
                {
                    int index = this.Controls.IndexOf(control);
                    if (index >= largestIndex)
                    {
                        largestIndex = index;

                        // update the attr
                        attr.Id = winForm.Id;

                        Point actualPt = getActualPoint(winForm.Location.X, winForm.Location.Y);
                        attr.Xpos = actualPt.X;
                        attr.Ypos = actualPt.Y;

                        Size actualSize = getActualSize(winForm.Size.Width, winForm.Size.Height);
                        attr.Width  = actualSize.Width;
                        attr.Height = actualSize.Height;

                        attr.Style = winForm.Style;
                    }
                }
            }

            return(attr);
        }
Exemplo n.º 2
0
        public ControlAttributes GetControl(int controlId)
        {
            ControlAttributes attr = new ControlAttributes();

            foreach (Control control in this.Controls)
            {
                CustomWinForm winForm = control as CustomWinForm;
                if (winForm != null &&
                    winForm.Id == controlId)
                {
                    attr.Id = winForm.Id;

                    Point actualPt = getActualPoint(winForm.Location.X, winForm.Location.Y);
                    attr.Xpos = actualPt.X;
                    attr.Ypos = actualPt.Y;

                    Size actualSize = getActualSize(winForm.Size.Width, winForm.Size.Height);
                    attr.Width  = actualSize.Width;
                    attr.Height = actualSize.Height;

                    attr.Style = winForm.Style;

                    break;
                }
            }

            return(attr);
        }
Exemplo n.º 3
0
        public void AddControl(ControlAttributes controlAttr)
        {
            try
            {
                CustomWinForm winForm = new CustomWinForm(controlAttr.Id, controlAttr.Style, this);
                mControlsDic.Add(controlAttr.Id, winForm);

                this.Controls.Add(winForm);
                this.Controls.SetChildIndex(winForm, controlAttr.ZOrder);

                // set the win size
                winForm.LatestSize = new Size(controlAttr.Width, controlAttr.Height);
                Size relativeSize = getRelativeSize(controlAttr.Width, controlAttr.Height);
                winForm.LatestRelativeSize = relativeSize;
                winForm.SetWindowSize(relativeSize);

                // set the win pos
                winForm.LatestPos = new Point(controlAttr.Xpos, controlAttr.Ypos);
                Point relativePoint = getRelativePoint(controlAttr.Xpos, controlAttr.Ypos);
                winForm.LatestRelativePos = relativePoint;
                winForm.SetWindowLocation(relativePoint.X, relativePoint.Y);

                // add the tooltip control
                windowToolTip.SetToolTip(winForm, controlAttr.WindowName);

                winForm.SetWindowName(controlAttr.WindowName);
                winForm.Style = (int)(controlAttr.Style);

                // register the event callback
                winForm.onDelegateClosedEvt      += winForm_onDelegateClosedEvt;
                winForm.onDelegateMaximizedEvt   += winForm_onDelegateMaximizedEvt;
                winForm.onDelegateMinimizedEvt   += winForm_onDelegateMinimizedEvt;
                winForm.onDelegatePosChangedEvt  += winForm_onDelegatePosChangedEvt;
                winForm.onDelegateRestoredEvt    += winForm_onDelegateRestoredEvt;
                winForm.onDelegateSizeChangedEvt += winForm_onDelegateSizeChangedEvt;

                Trace.WriteLine(String.Format("Add control - pos:{0},{1} size:{2},{3} : {4},{5}",
                                              relativePoint.X, relativePoint.Y, relativeSize.Width, relativeSize.Height, controlAttr.Width, controlAttr.Height));
            }
            catch (Exception e)
            {
                Trace.WriteLine(e.Message);
            }
        }