美文网首页
A25:捕获鼠标与按键事件

A25:捕获鼠标与按键事件

作者: 大龙10 | 来源:发表于2026-02-12 14:41 被阅读0次

一、鼠标的按键事件

  • 普通控件需要调用 win.ui.tracker 以监听
    onMouse...,onKey...,onSysKey... 前缀的鼠标与按键事件以及 onFocusGot,onFocusLost 事件。
    并且所有状态切换都会触发 onStateChange 事件。

二、plus 控件

  • plus 控件已默认调用了 win.ui.tracker,支持 win.ui.tracker 对象的所有事件

鼠标事件

  • 鼠标移入 onMouseEnter
  • 鼠标移出 onMouseLeave
  • 鼠标拖拽 onMouseDrag
  • 鼠标单击 onMouseClick
  • 鼠标双击 onMouseDoubleClick
  • 鼠标右键按下 onRightMouseDown
  • 鼠标滚轮事件 onMouseWheel

三、程序

//捕获鼠标与按键事件
import win.ui;
/*DSG{{*/
var winform = win.form(text="捕获鼠标与按键事件";right=481;bottom=355)
winform.add(
button={cls="button";text="普通控件";left=57;top=154;right=255;bottom=206;z=2};
plus={cls="plus";text="plus 控件";left=57;top=63;right=256;bottom=103;bgcolor=0xF0CAA6;color=0x800000;font=LOGFONT(h=-13);textPadding={left=5};z=1}
)
/*}}*/

winform.plus.skin({
    color={
        active=0xFF002200;
        default=0xFF000080;
        disabled=0xFF6D6D6D;
        hover=0xFFFF0000        
    }
})

import win.ui.tracker;

/*
普通控件需要调用 win.ui.tracker 以监听
onMouse...,onKey...,onSysKey... 前缀的鼠标与按键事件以及 onFocusGot,onFocusLost 事件。
并且所有状态切换都会触发 onStateChange 事件。
*/
var tracker = win.ui.tracker(winform.button);//返回的 tracker 实际上等于控件自身,但可以获得 win.ui.tracker 的智能提示支持。

tracker.onMouseEnter = function(wParam,lParam){
    owner.text = "鼠标移入" 
}

tracker.onMouseLeave = function(wParam,lParam){
    owner.text = "鼠标移出" 
}

//plus 控件已默认调用了 win.ui.tracker,支持 win.ui.tracker 对象的所有事件
winform.plus.onMouseEnter = function(wParam,lParam){
    owner.text = "鼠标移入"
}

winform.plus.onMouseLeave = function(wParam,lParam){
    owner.text = "鼠标移出" 
}

winform.plus.onMouseDrag = function(wParam,lParam){ 
    var x,y = win.getMessagePos(lParam);
    owner.text = "鼠标拖拽"      
}

winform.plus.onMouseClick = function(wParam,lParam){
    var x,y = win.getMessagePos(lParam);
    owner.text = "鼠标单击"     
}

winform.plus.onMouseDoubleClick = function(wParam,lParam){
    var x,y = win.getMessagePos(lParam);
    owner.text = "鼠标双击"     
}

winform.plus.onMouseDown = function(wParam,lParam){
    var x,y = win.getMessagePos(lParam);
    owner.text = "鼠标按下" 
}

winform.plus.onRightMouseDown = function(wParam,lParam){
    var x,y = win.getMessagePos(lParam);
    owner.text = "鼠标右键按下"       
}

winform.plus.onMouseWheel = function(flags,delta,lParam){
    delta = delta/(120/3); 
    owner.text = "鼠标滚轮事件 delta=" + delta;       
}

winform.show();
win.loopMessage();

四、界面

相关文章

  • day_010 Python中的pygame_2

    一、事件 鼠标的事件:QUIT:关闭按键被点击事件MOUSEBUTTONDOWN:鼠标按键按下事件MOUSEBUT...

  • Fabric.js 右键菜单

    本文简介 Fabric.js 默认没提供 鼠标右键事件,只有 鼠标按键点击 、鼠标按键抬起 、鼠标移动 等事件。但...

  • JS事件处理

    鼠标事件 事件冒泡 控件随着鼠标移动 按键事件 基础 onkeydown、onkeyup、onkeypress 小...

  • JS event的属性

    Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 事件通常与...

  • Event对象

    Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。事件通常与函...

  • 什么是事件对象

    Event对象代表是事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。事件通常与函...

  • 第七课 js事件

    event事件对象 1、什么是event事件对象? 用来获取事件的详细信息:鼠标位置、键盘按键 ——例子:获取鼠标...

  • js事件

    event事件对象 1、什么是event事件对象? 用来获取事件的详细信息:鼠标位置、键盘按键 ——例子:获取鼠标...

  • js进阶小知识1

    1.event事件对象:Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标...

  • GO语言Robotgo学习-事件操作(6)

    AddEvent,添加全局事件监听 AddEvent(按键或者鼠标操作)支持的按键有数字字母等按键,支持的功能键从...

网友评论

      本文标题:A25:捕获鼠标与按键事件

      本文链接:https://www.haomeiwen.com/subject/mtfirstx.html