mfc获取鼠标在其他窗口中坐标_C井编程,稍加修改,将之前“会跑的按钮”改成“会跑的窗口”...
开发工具:VS2010;.net framework 3.5
步骤:
1、打开VS2010
2、新建WinForm项目
3、窗体放一个标签Lable控件显示文字信息,一个定时器Timer控件10ms间隔循环检查鼠标坐标是不是靠近窗口,是:让窗口跑,否:什么也不做
4、Timer控件Tick事件下输入主要代码
5、完成
重点:获取屏幕尺寸;获取窗口相对屏幕位置;获取鼠标相对屏幕的坐标
一、程序运行截图:
二、主要代码:
private void timer1_Tick(object sender, EventArgs e)
{
Rectangle ScreenArea = Screen.GetWorkingArea(this);//获取屏幕大小
int margin = 30;
int border = 50;
int x = Control.MousePosition.X;//鼠标相对屏幕坐标
int y = Control.MousePosition.Y;//鼠标相对屏幕坐标
int left = this.DesktopLocation.X;//窗口相对屏幕坐标
int right = this.DesktopLocation.X + this.Width;
int top = this.DesktopLocation.Y;//窗口相对屏幕坐标
int bottom = this.DesktopLocation.Y + this.Height;
//鼠标到窗体附近(margin个象素)
if (x > left - border && x < right + border && y > top - border && y < bottom + border)
{
this.Top += (y > top ? -margin : margin);
if (this.Top > ScreenArea.Height || this.Bottom < 0)
{
this.Top = ScreenArea.Height / 2;
}
this.Left += (x > left ? -margin : margin);
if (this.Left > ScreenArea.Width || this.Right < 0)
{
this.Left = ScreenArea.Width / 2;
}
}
}
三、提示:
查看操作实录视频请关注“业余码农说”,查看发布的同名视频即可
mfc获取鼠标在其他窗口中坐标_C井编程,稍加修改,将之前“会跑的按钮”改成“会跑的窗口”...相关推荐
- pandas计算滑动窗口中的最小值实战(Rolling Minimum in a Pandas Column):计算单数据列滑动窗口中的最小值、计算多数据列滑动窗口中的最小值
pandas计算滑动窗口中的最小值实战(Rolling Minimum in a Pandas Column):计算单数据列滑动窗口中的最小值.计算多数据列滑动窗口中的最小值 目录
- pandas计算滑动窗口中的最大值实战(Rolling Maximum in a Pandas Column):计算单数据列滑动窗口中的最大值、计算多数据列滑动窗口中的最大值
pandas计算滑动窗口中的最大值实战(Rolling Maximum in a Pandas Column):计算单数据列滑动窗口中的最大值.计算多数据列滑动窗口中的最大值 目录
- pandas计算滑动窗口中的中位数实战(Rolling Median of a Pandas Column):计算单数据列滑动窗口中的中位数、计算多数据列滑动窗口中的中位数
pandas计算滑动窗口中的中位数实战(Rolling Median of a Pandas Column):计算单数据列滑动窗口中的中位数.计算多数据列滑动窗口中的中位数 目录
- 获取鼠标点击位置的坐标
获取点击的坐标有三种情况 获取在可视区域的坐标 获取在文档页面的坐标 获取在电脑屏幕的坐标 一:获取在可视区域的坐标 e.clientX : 获取距离页面左边的距离 e.clientY :距离页面可 ...
- html 获取鼠标在canvas上的坐标,html5-canvas 检测鼠标在画布上的位置
示例 本示例将说明如何获取鼠标相对于画布的位置,例如(0,0)HTML5 Canvas的左上角.的e.clientX和e.clientY将获得相对于文档的顶部位置的鼠标,来改变这种是基于画布的顶部,我 ...
- c语言中堆栈_C语言编程中的堆栈
c语言中堆栈 A stack is a linear data structure, collection of items of the same type. 堆栈是线性数据结构 ,是相同类型的项目 ...
- cad坐标归零lisp_批量除一个数的lisp,请高手改成保留成设置小数位置。
我有一个在cad里批量除以一个数的LISP.其中<(setq newr (rtos (/ (atof old0) s0) 2 1))>的1就是决定小数点后保留1位的.请高手改一下,能否增加 ...
- (一)MFC读取并显示一幅位图图像,并获取鼠标点击位置的像素坐标和灰度值
题目是老师布置的一道作业题,要求用C或C++完成,但不能用VTK/Opencv等软件包,经过很多摸索之后实现了该功能,后续可能还有其他功能要实现,所以先写一篇博客记录下,一方面是方便自己以后使用,另一 ...
- 3D视图中获取鼠标所在位置
在3D视图中,经过旋转.缩放.平移之后,任然可以获取鼠标位置对应的真实坐标. 思路:获取OpenGL模型矩阵和投影矩阵, 对鼠标位置信息进行反投影计算. 主要函数: glReadPixels 通过深度 ...
最新文章
- java.lang.IllegalMonitorStateException 异常出现原因
- 拓扑排序(字典序最小,字典序最小)
- 查找DetailsView1数据控件中的数据
- python的scrapy框架的安装_Python3环境安装Scrapy爬虫框架过程及常见错误
- jena dataset 增删改查
- 【ZJOI2015】幻想乡战略游戏【点分树】【带权重心】
- 接口隔离原则_设计模式的三大分类及六大原则
- C和汇编混合编程---栈平衡
- 飞鸽传书 宣传单和电话说辞
- php开发简易论坛教程,[php] 我的微型论坛的简单教程[已完成]第3/8页
- 洛谷 P2712 摄像头
- Tomcat的工作模式
- 关于UnityHub更换位置后找不到编辑器以及登录界面白屏的问题
- 1602-LiquidCrystal库
- 解决电脑低俗弹窗广告
- 关于人工智能的天马行空
- 2019年云计算发展趋势,今年十大云计算趋势
- 笔记本上怎么怎么暂停cmd打印窗口
- 突然间思考PID 有意思的地方-为什么说开环控制最优这句话也对也不对
- 一款界面友好的思维导图软件MindMaster