예제 #1
0
        public ContentResult RectangularSearchTool(RectModel rectangularSearch)
        {
            ResponseREST rs = new ResponseREST();

            rs.ProcessRequestREST(Request, Response);
            string content     = rs.getResult();
            string contentType = rs.getContentType();

            return(new ContentResult
            {
                ContentType = contentType,
                Content = content
            });
        }
        public IActionResult rect()
        {
            setAuth();
            RectModel predefinedValues = new RectModel();

            predefinedValues.min_ra  = "258.2";
            predefinedValues.max_ra  = "258.3";
            predefinedValues.min_dec = "64";
            predefinedValues.max_dec = "64.1";
            predefinedValues.max_u   = 20;
            predefinedValues.max_g   = 20;
            predefinedValues.max_r   = 20;
            predefinedValues.max_i   = 20;
            predefinedValues.max_z   = 20;
            predefinedValues.max_j   = 20;
            predefinedValues.max_h   = 20;
            predefinedValues.max_k   = 20;
            predefinedValues.limit   = "10";
            return(PartialView("rect", predefinedValues));
        }
예제 #3
0
        /// <summary>
        /// 获取句柄Model
        /// </summary>
        /// <param name="hwnd"></param>
        /// <returns></returns>
        public static HwndModel GetHwndModel(IntPtr hwnd, IntPtr parentHwnd = new IntPtr())
        {
            HwndModel result = new HwndModel()
            {
                HwndId = hwnd
            };

            // 获取类型
            result.Type = GetHwndType(hwnd);

            Console.WriteLine(hwnd);
            // 获取控件值
            result.Value = GetHwndValue(hwnd, result.Type);
            Console.WriteLine(result.Value);
            // 获取控件类
            result.Class = GetHwndClass(hwnd);

            // Desk坐标
            RectModel rect = new RectModel();

            User32Utility.GetWindowRect(hwnd, out rect);
            result.DeskX = (int)rect.Left;
            result.DeskY = (int)rect.Top;

            // Exe坐标
            RectModel parRect = new RectModel();

            if (parentHwnd == IntPtr.Zero)
            {
                parentHwnd = GetTopParentHwnd(hwnd);
            }
            User32Utility.GetWindowRect(parentHwnd, out parRect);
            result.ExeX = (int)(rect.Left - parRect.Left);
            result.ExeY = (int)(rect.Top - parRect.Top);

            // 宽高
            result.Width  = (int)(rect.Right - rect.Left);
            result.Height = (int)(rect.Bottom - rect.Top);

            return(result);
        }
예제 #4
0
        private void DrawRects(RectModel model)
        {
            var height = model.Height;
            var width  = model.Width;

            var myRect = new Rectangle
            {
                Stroke = Brushes.Black,
                Height = model.Position == RectSideEnum.bottom || model.Position == RectSideEnum.top ? height : width,
                Width  = model.Position == RectSideEnum.bottom || model.Position == RectSideEnum.top ? width : height
            };

            Canvas.SetLeft(myRect, model.X);
            Canvas.SetTop(myRect, model.Y);
            MyCanvas.Children.Add(myRect);

            if (model.RectList != null)
            {
                for (int i = 0; i < model.RectList.Count; i++)
                {
                    DrawRects(model.RectList[i]);
                }
            }
        }
예제 #5
0
 public static extern int GetWindowRect(IntPtr hwnd, out RectModel lpRect);
예제 #6
0
 private void DrawPanelViewModel_OnGetData(object sender, RectModel e)
 {
     MyCanvas.Children.Clear();
     DrawRects(e);
     OnGetData?.Invoke(this, this.MyCanvas);
 }