WPF 获取鼠标屏幕位置、窗口位置、控件位置

原文:WPF 获取鼠标屏幕位置、窗口位置、控件位置

    public struct POINT
    {
        public int X;
        public int Y;
        public POINT(int x, int y)
        {
            this.X = x;
            this.Y = y;
        }
    }

[DllImport("user32.dll")]
public static extern bool GetCursorPos(out POINT lpPoint);

//e.GetPosition(this);
//(e.Source as FrameworkElement).PointToScreen(new Point(0, 0));
POINT mousestart = new POINT();
GetCursorPos(out mousestart);

Point p2 = Mouse.GetPosition(this as FrameworkElement);

Point p = Mouse.GetPosition(e.Source as FrameworkElement);

MessageBox.Show(Convert.ToString(mousestart.X));
MessageBox.Show(Convert.ToString(p.X));
MessageBox.Show(Convert.ToString(p2.X));

原文地址:https://www.cnblogs.com/lonelyxmas/p/9795403.html

时间: 2024-10-06 02:16:48

WPF 获取鼠标屏幕位置、窗口位置、控件位置的相关文章

根据获取的窗口句柄遍历窗口Edit控件

网上说遍历窗口控件有两种方法: 1),使用EnumChildWindows,没有深究, 学习网址如下:http://blog.sina.com.cn/s/blog_60ac1c4b010116uj.html 2),使用::FindWindowEx和GetWindow组合 下面只说第二种方法, 首先根据标题获取窗口的句柄, HWND hWnd=::FindWindow(NULL,"zhang001"); findwindow原型: FindWindow(   lpClassName, 

2013-7-22 确定鼠标与控件位置关系

Rectangle rect1 = panel1.Bounds; rect1 = MF.mf.RectangleToScreen(rect1); if (rect1.Contains(MousePosition))... // MousePosition是鼠标绝对位置,所有控件的边界必须用顶级父窗口来RectangleToScreen,否则定位不准}

【WPF】总结窗口和控件拖拽的实现

前文 本文只对笔者学习掌握的一般的拖动问题的实现方法进行整理和讨论,包括窗口.控件等内容的拖动. 希望本文能对一些寻找此问题的解决方法的人和一些刚入门的人一些帮助.笔者为WPF初学者,能得到各位的批评指正也是荣幸万分.有更好更多的方法,劳烦与我分享,不胜感激. 本文的各种实现方法其他博客中也都有提及,很多文章内容详实,有图有代码,笔者就不重复造轮子了.就写写自己的一些理解吧. 关键词 Window, UserControls, drag, Thumb 参考资料 http://www.cnblog

【教程】【FLEX】#006 控件位置的拖动

上一篇笔记学习了怎么从 把一个控件拖放到另外一个控件里面(即 A --> B里面). 而现在呢,则是学习  怎么把 A 拖到另外一个位置. (A -->A位置改变): 先说一下实现的思路(主要也就是思路,不是什么技术问题): 1.在控件拖动前要先注册好控件的MouseDown事件.(可以在控件创建好的时候注册,获取其他你觉得合适的时候) 2.当鼠标MouseDown下的时候(鼠标点击下去,未放开鼠标的时候),注册控件的面板的MouseMove和ROLL_UP事件以及控件的MouseUP. 3.

android 动态改变控件位置和大小 .

动态改变控件位置的方法: setPadding()的方法更改布局位置. 如我要把Imageview下移200px: ImageView.setPadding( ImageView.getPaddingLeft(),  ImageView.getPaddingTop()+200, ImageView.getPaddingRight(),  ImageView.getPaddingBottom()); 动态改变控件大小的方法: 1.声明控件参数获取对象 LayoutParams lp: 2.获取控件

Android 使用动画效果后的控件位置处理 类似系统通知栏下拉动画

Android的动画的使用,请参考.Android的动画,在设计方面,我有点不太理解,觉得这样搞很怪,因为在控件动画后,即使设置了停留在动画结束时的位置,我们也确实看到了控件停在那个位置,但其实该控件的真实位置还是在原来动画前的那里.举个例子,如果有个Button,你给它设置了动画,让它移动到其他位置,当移动完成后,你会发现,点击Button没有任何效果,而在Button原来的位置,就是动画前的位置点击,明明没有任何控件,却看到了点击Button的效果.不知道Google为什么要这样设计.解决思

[WPF]获取鼠标指针下的元素

原文:[WPF]获取鼠标指针下的元素   [WPF]获取鼠标指针下的元素 周银辉 以前写过一些GetElementUnderMouse之类的函数,要用到坐标换算而显得有些麻烦(特别是当元素有XXXTransform的时候) 今天看到Mouse类居然有一个DirectlyOver属性,可以获得鼠标下的元素, 很奇怪,我的MSDN文档以及VS2008智能提示中都没有显示该属性,但反编译一下可以看到. 但必须注意到的一点是,WPF控件是由各个元素复合而成的,但Mouse类可不知道这概念,所以不要期望它

Android - 交换控件位置:基于LayoutParams的瞬间交换与基于ObjectAnimator动画效果交换

现需要交换两个控件(本文中是两个RelativeLayout),找到了两个方法: 1.使用LayoutParams改变两个layout的属性,即其相对关系(below等),实现位置的交换,但是并没有交换的动画效果,是"瞬间"交换. 2.使用animation交换控件位置,实现了我需要的动画效果. 如下图,交换layoutOne 与layoutTwo . 一.首先介绍使用LayoutParams的方法. <span style="font-size:18px;"

【工具】获取窗口与控件信息

[工具]获取窗口与控件信息 常言道,工欲善其事,必先利其器.在脚本中常见的一种操作是操作窗口或控件,在操作之前,首先必须获取目标的各种信息,这时就要用上辅助工具了.本文会介绍一些获取窗口.控件信息的常用工具,这里的先后顺序是随意安排.如果目前用的没什么问题就继续用着,如果对某些地方不满意则可试试其他.简单的截图不容易全面反映整个工具的功能和特色,使用才能获得真实体验. Active Window Info 评论:这个最初来自于 AutoIt3 且安装包中自带的工具,就无需过多介绍了.功能简陋,但