本文记录我阅读 Avalonia 代码过程中所学习到的在 X11 的窗口之间发送鼠标消息,可以跨进程给其他进程的窗口发送鼠标消息,通过此方式可以实现模拟鼠标输入 直接使用 XSendEvent 给指定窗口发送消息即可 比如有两个窗口,可以通过此方式让窗口 2 收到鼠标消息时,自动转发给窗口 1 上,核心代码如下 var handle = XCreateWindow(display, rootWindow, 0, 0, 其实在这里我不确定 X11 的窗口 IntPtr 是否称为指针是合适的。 ec8242cfe08a0eb23ba637c655083fceb0a8edb3 获取代码之后,进入 DikalehebeekaJaqunicobo 文件夹,即可获取到源代码 通过以上测试可以发现 X11 的鼠标输入是完全可以进行模拟输入的,只需要拿到窗口指针,使用 XSendEvent 进行发送即可 再进一步的实验,也许大家也发现上面代码里面有被我注释的 XDrawLine 的调用。
本文记录如何在 X11 应用里面,使用 XShapeCombineRegion 方法配置一个 X11 窗口支持和 Win32 窗口一样的命中测试穿透功能,即对应 Win32 的 WS_EX_TRANSPARENT 的鼠标、触摸等的点击等动作的穿透功能,可以实现在窗口中挖空一块范围直接穿透到后面的窗口 在 X11 窗口中,想要实现让窗口不可命中,即所有的鼠标、触摸等的事件穿透到后面的窗口上,可以采用 libXext.so 窗口不响应鼠标或触摸的点击输入,让其输入到窗口后面的窗口。 ..ctor(X11Info x11Info, IntPtr mainWindowHandle) at UnoInk.X11Ink.X11InkProvider.Start(Window unoWindow xOff, int yOff, IntPtr region, int op); 更新之后的代码放在 github 和 gitee 上,欢迎拉取代码阅读和构建 参考文档: 如何在屏幕上显示一局部透明、鼠标点击可穿过的窗口
前言: 很多小伙伴更新Windows 11后不习惯新版的右键菜单 要切回老版本菜单还得点击显示更多才会展开 对于习惯用老版右键菜单快捷键的小伙伴们尤为不便(其实是我) 今天写一个一个改回原版老菜单的教程
最近使用windows11的edge浏览器,发现鼠标移动到地址栏会“消失”。 开始以为是系统或者电脑有问题,后来仔细看了才发现,原来是因为这时候鼠标光标变成了白色,和地址栏的白色背景融为一体,所以看起来光标消失了。 方法1: 打开控制面板,打开硬件和声音,点鼠标,再点指针,在下面的自定义栏点文本选择,然后点右下角的浏览,打开的文件夹里面有很多鼠标指针形状,选择一个合适的就行。
很简单: Mouse over me. <div n
9 TextOut( hdc, 10, 30, szBuffer, lstrlen(szBuffer) ) ; 10 EndPaint( hwnd, &ps ) ; 11 szAppName[] = TEXT( "UseMouse_Demo" ) ; 8 HWND hwnd ; 9 MSG msg ; 10 WNDCLASS wndclass ; 11 11 wsprintf( szBuffer, "鼠标左键被单击, 击中位置: (%i, %i)", x, y ); 12 MessageBox( hwnd, szBuffer szAppName[] = TEXT( "UseMouse_Demo" ) ; 8 HWND hwnd ; 9 MSG msg ; 10 WNDCLASS wndclass ; 11 在最大化按钮上 #define HTLEFT 10 //在窗口的左边框上 #define HTRIGHT 11
有一个任务,要实现当鼠标按下左键可以绘制蓝色线段,按下右键绘制红色线段,没有按下时不绘制效果。 ? scratch当中鼠标只能检测按下,无法识别左右按下,但是可以通过使用变量记住上次点击的的效果,下一次再点击就切换不同的效果,从而实现鼠标左右按键的效果。
大家否曾注意到有些网站的鼠标不是规则的斜向上箭头的形状,而是十字形,或者是向左的箭头,或者是个问号等等。 当你想在网页的不同位置让鼠标显示不 同形状,以体现不同的功能区;当你想让你的网站体现与众不同的风格时,考虑一下在鼠标样式上下功夫吧。 其实鼠标样式的用途还是极为广泛的,那么怎样才能实 现鼠标的不同样式呢? 这就要用到css层叠样式表中的cursor属性了。 cursor的属性: pointer:手型 crosshair:十字型 text:平时鼠标移动到文本上的样式 wait:等待的效果 default:默认的那种效果 help:带问号的鼠标样式 e-resize 打开google,输入关键字“鼠标样式”,大家会发现有很多网站都有制作绚丽的鼠标样式,并写好了代码。
var options = $.extend({}, defaultOpts, options); 10 new FrameSelection($(this), options); 11
页面加载事件(onload),鼠标双击事件(ondbclick) window.onload=function(){ //绑定元素,执行对应事件 鼠标双击(ondblclick (){ alert('我是双击显示的'); } } 鼠标摁下(onmousedown)事件(摁下就执行,鼠标无需抬起 } } 鼠标抬起(onmouseup)事件(摁下后,鼠标回弹才执行) window.onload=function(){ 鼠标移入(onmouseover)事件 window.onload=function(){ //绑定元素,执行鼠标移入事件 鼠标移入(onmousemove ){ alert('鼠标移出操作'); } } PS:鼠标移动(onmousemove)和鼠标移入(onmouseover
mouseClicked()方法,传递进参数:MouseEvent对象 调用MouseEvent对象的getClickCount()方法,得到点击次数 这个事件比action事件先执行,但是action事件除了鼠标还可以用键盘执行 Override public void actionPerformed(ActionEvent e) { System.out.println("鼠标点击 action事件"); } }); //鼠标点击 button.addMouseListener(new MouseAdapter @Override public void mouseClicked(MouseEvent e) { System.out.println("鼠标单击 "); if(e.getClickCount()==2){ System.out.println("鼠标双击");
鼠标画矩形: // An example program in which the // user can draw boxes on the screen. // /* License:
提示:以下是本篇文章正文内容,下面案例可供参考 一、使用步骤 点击鼠标左键然后在按钮内移动,正常来说是数字加一,如果数字加了一以上,就说明鼠标出现了双击, 解决方案 解决其实也很简单,更换微动单元就行
第一个参数@event MouseEventTypes 事件类型 第二三参数为x,y坐标 第四个参数flags 区分左右点击和特殊的键盘按键 第五个参数时用户传递的数据,这里没有用到
1.常用鼠标事件 1.1 案例:禁止选中文字和禁止右键菜单 1.禁止鼠标右键菜单 contextmenu主要控制应该何时显示上下文菜单,主要用于程序员取消默认的上下文菜单 document.addEventListener 1.3 获取鼠标在页面的坐标 <script> // 鼠标事件对象 MouseEvent document.addEventListener('click', function 这个天使图片一直跟随鼠标移动 案例分析 ① 鼠标不断的移动,使用鼠标移动事件: mousemove ② 在页面中移动,给document注册事件 ③ 图片要移动距离,而且不占位置,我们使用绝对定位即可 ④ 核心原理: 每次鼠标移动,我们都会获得最新的鼠标坐标, 把这个x和y坐标做为图片的 top和left 值就可以移动图片 实现代码 <img src="images/angel.gif" alt= 1px 就会触发这个事件 // 2.核心原理: 每次鼠标移动,我们都会获得最新的鼠标坐标, // 把这个x和y坐标做为图片的top和left 值就可以移动图片
.hover() 将两个时间函数绑定到匹配元素上,分别当鼠标指针进入和离开元素时被被执行。 .hover(handlerIn(eventObject),handlerOut(eventObject)) handlerIn(eventObject) 当鼠标指针进入元素时触发执行的事件函数 handlerOut 当鼠标指针离开元素时候触发执行的事件函数。 , 解除绑定上面的例子中使用: $("td").unbind('mouseenter mouseleave'); .mousedown() 当鼠标按下的时候绑定的事件处理函数 ").mouseout(function(){ ("p").css("background-color","#E9E9E4"); }); .mouseover() 当鼠标指针位于元素上方时触发的事件
#1.鼠标的悬浮样式:cursor div:hover{ cursor:not-allowed; /* 光标是一个红色的圈加一个斜杠)*/ } 1、default 默认光标 11、sw-resize此光标指示矩形框的边缘可被向 下及向左移动(南西)。 12、s-resize 此光标指示矩形框的边缘可被向下移动(北西)。 #2.阻止click点击事件 ####css禁用鼠标点击事件 pointer-events:none; 注:使用禁止触发事件时,鼠标样式会失效,变成箭头,即cursor:not-allowed; pointer-events
1、cursor属性 在CSS中,使用cursor属性来定义鼠标的样式。 语法: cursor:属性值; 说明: cursor属性取值如下,默认值为default。 ;} #div_pointer{cursor:pointer;} </style> </head> <body>
今天遇到一个非常奇怪而又搞笑的事情:给一个a标签添加一个鼠标移动上时给一个事件,我给其添加的是一个onMouseMove事件,结果在IE6 7 8 9和GOOLE中都很正常,结果在Firox中出现问题了 鼠标的一些事件如下所示: onMouseOver IE3|N2|O3 当鼠标移动到某对象范围的上方时触发的事件 onMouseMove IE4|N4|O 鼠标移动时触发的事件 onMouseOut IE4 |N3|O3 当鼠标离开某对象范围时触发的事件 onKeyPress IE4|N4|O 当键盘上的某个键被按下并且释放时触发的事件.
常用鼠标事件 1 、案例:禁止选中文字和禁止右键菜单 <body> 我是一段不愿意分享的文字 <script> // 1. contextmenu 我们可以禁用右键菜单 3、 获取鼠标在页面的坐标 <script> // 鼠标事件对象 MouseEvent document.addEventListener('click', function (e) { // 1. client 鼠标在可视区的x和y坐标 console.log(e.clientX); console.log (e.clientY); console.log('---------------------'); // 2. page 鼠标在页面文档的x和y坐标 1px 就会触发这个事件 // 2.核心原理: 每次鼠标移动,我们都会获得最新的鼠标坐标, // 把这个x和y坐标做为图片的top和left 值就可以移动图片