易语言修改鼠标样式

易语言组件的属性中有一项鼠标指针可以在添加组件的时候修改鼠标样式,但是这种样式局限在组件上显示,移动到其他位置后就恢复成正常鼠标样式。

我这个小程序中需要达到的效果是:按下鼠标左键后,修改鼠标样式,无论移动到屏幕任何位置都不变,直到松开左键才恢复。

实现方法:

1. 导入后缀为.cur的文件到项目中备用。(后缀为cur的文件是鼠标静态光标文件,可以在网上直接下载.cur格式文件,也可以下载jpg/png格式图片进行在线转换,如果在线转换失败,可以下载一个小工具:ArtCursors,有30天的试用期)

2. 直接上代码:

.版本 2
.支持库 spec

.子程序 _按钮_绑定窗口_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.局部变量 光标句柄, 整数型
.局部变量 光标所在位置句柄, 整数型

光标句柄 = LoadCursorFromFileA (取运行目录 () + “/pic/newCursor.cur”)
.如果 (光标句柄 > 0)
    SetCursor (光标句柄)
.否则
    调试输出 (“未正常获取光标句柄,错误:”, GetLastError ())
.如果结束


刚开始接触易语言,有很多API还不熟悉,这里记录加强一下记忆,如有疏漏,欢迎留言。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的易语言鼠标点击器的示例代码: ``` '定义全局变量 Global hTimer As Long '计时器句柄 '窗口初始化事件 Private Sub Form_Load() '设置窗口位置 Me.Move 100, 100, 300, 200 '设置窗口标题 Me.Caption = "鼠标点击器" '创建按钮控件 Call CreateButton("开始", 20, 20, 80, 30, AddressOf StartClick) Call CreateButton("停止", 120, 20, 80, 30, AddressOf StopClick) End Sub '创建按钮控件 Private Sub CreateButton(ByVal text As String, ByVal x As Long, ByVal y As Long, ByVal width As Long, ByVal height As Long, ByVal handler As Long) '创建按钮控件 Call CreateWindowEx(0, "Button", text, WS_CHILD Or WS_VISIBLE Or BS_PUSHBUTTON, x, y, width, height, Me.hWnd, 0, Me.hInstance, 0) '设置按钮事件处理函数 Call SetWindowLong(FindWindowEx(Me.hWnd, 0, "Button", text), GWL_WNDPROC, handler) End Sub '开始点击事件处理函数 Private Function StartClick(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long '启动计时器 hTimer = SetTimer(Me.hWnd, 0, 1000, AddressOf ClickMouse) End Function '停止点击事件处理函数 Private Function StopClick(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long '停止计时器 Call KillTimer(Me.hWnd, hTimer) End Function '鼠标点击事件处理函数 Private Function ClickMouse(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long '获取当前鼠标位置 Dim x As Long, y As Long Call GetCursorPos(x, y) '模拟鼠标点击 Call mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0) Call mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0) End Function ``` 使用时,打开易语言编辑器,新建一个窗口程序,将以上代码复制粘贴到窗口程序中,保存并编译运行即可。点击“开始”按钮后,程序将每秒模拟一次鼠标左键点击操作;点击“停止”按钮后,程序将停止模拟鼠标点击操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值