最近在用qt写一个跨平台的软件,因为设置了无边框,并且我自己给程序窗口加了阴影,阴影范围又比较大 所以必须给阴影区域加上鼠标穿透才能有更好的体验. 上网查了一下,在windows下使用SetWindowLong就行 在linux下的搜了好久也找到了一个方法 就是XShapeCombineRectangles(QX11Info::display(), winId(), ShapeInput, 0,0, NULL, 0, ShapeSet, YXBanded);(需要#include <X11/ex…
编写程序模拟鼠标和键盘操作可以方便的实现你需要的功能,而不需要对方程序为你开放接口.比如,操作飞信定时发送短信等.我之前开发过飞信耗子,用的是对飞信协议进行抓包,然后分析协议,进而模拟协议的执行,开发出了客户端,与移动服务器进行通信,但是这有一些缺点.如果移动的服务器对接口进行变更,我所编写的客户端也要进行相应的升级.如果服务器的协议进行了更改,甚至个人编写的这种第三方客户端需要重写.而我个人也没有这个时间和精力,或者说没有足够的利益支撑我继续去重构飞信耗子.因此,这款还算优秀的软件,现在就束之…
上两张Demo的图,方便朋友们选择是否继续看文章. 在子窗口的白色区域按下鼠标左键不放并移动鼠标可以拖拽子窗口跟随鼠标移动. 选择继续看下去的朋友不要担心,接下来就是正文了. PART 1:Demo功能 呵呵呵,就是纯win32 API方式创建窗口和关联的子窗口,为计划中的小工具做准备吧,计划中要有一个稍复杂的配置界面,采用子窗口的显示和隐藏来切换配置窗口. PART 2:技术难题 这部分不存在吧,都是win32的基础知识,创建主窗口和子窗口基本相同,都是定义窗口对象的属性和关联方法,属性即WN…
效果: 1.定义两个个定时器ID #define ID_TIMER_DISPLAY_DELAY 30 #define ID_TIMER_DISPLAY_CLOSE 40 2.添加一个成员函数和成员变量 void SetAlpha(HWND hWnd,int Alpha); int m_nFlag ; void CPopUpWnd::SetAlpha(HWND hWnd,int Alpha){ HINSTANCE hInst = LoadLibrary(L"User32.DLL");  …
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>鼠标悬停显示提示信息窗口</titl…
界面如图所示: 要求:在“信息注册”栏,按下鼠标,然后鼠标在页面移动,在鼠标移动过程中,该窗口跟着鼠标移动,当鼠标松开的时候,窗口停止移动.点击“关闭”,该窗口隐藏. 实现思路: 1.页面结构分析:一个大盒子d-box来确定位置,里面放一个小盒子drop(存放“注册信息(可以拖拽”文字和span标签,span存放“关闭”,id为box_close),鼠标在drop中按下,移动时候d-box跟着移动. 2.实现分析: 2.1 获取鼠标在盒子中的位置.通过鼠标在页面中的位置-盒子在页面的位置实现 ①…
js进阶 12-6 监听鼠标滚动事件和窗口改变事件怎么写 一.总结 一句话总结:滚动事件scroll(),浏览器窗口调整监听resize(),思考好监听对象. 1.滚动事件scroll()的监听对象是谁? window对象 $(window).scroll(function(){ //滚动条的距离scrollTop()和scrollLeft() $('#div1').text($(this).scrollTop()) }) 2.浏览器窗口调整监听resize()的监听对象是谁? window对象…
原文: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…
一.MFC应用程序中处理消息的顺序: 1.AfxWndProc()       该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc2.AfxCallWndProc()   该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数3.WindowProc()       该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数4.OnWndMsg() 该函数的功能…
网上查到了好多种方法,1.添加过滤器(eventFilter),2.重写鼠标单击事件,这两种方法都要判断鼠标单击位置是不是在子窗口上.而且在可编辑控件上如(下拉框.文本编辑框等),父窗口会直接传递到可编辑控件上,过滤器和重写的鼠标事件无法获取单击事件. bool eventFilter(QObject *watched, QEvent *event);//过滤器 void mousePressEvent(QMouseEvent *ev);//鼠标事件 其实最简单有效的方法是设置窗口标志位 set…