aardio 文档
aardio 范例: 捕获鼠标与按键事件
//捕获鼠标与按键事件
import win.ui;
/*DSG{{*/
var winform = win.form(text="捕获鼠标与按键事件";right=759;bottom=469)
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();
Markdown 格式