给组件挂接事件
下载地址:chengxu.online → aardio资源下载 → on.rar
解压后放到:
/lib/godking/on.aardio
部分库源码如下:
//on 挂接事件
namespace godking;
class on{
ctor(ctrl){
this=ctrl
this.wndproc = {
[0x204/*_WM_RBUTTONDOWN*/] = function(hwnd,message,wParam,lParam){
var x,y = ..win.getMessagePos(lParam)
if owner.onMouse_RDown {if(owner.onMouse_RDown(x,y)!==null) return true; }
}
[0x205/*_WM_RBUTTONUP*/] = function(hwnd,message,wParam,lParam){
var x,y = ..win.getMessagePos(lParam)
if owner.onMouse_RUp {if(owner.onMouse_RUp(x,y)!==null) return true; }
}
[0x206/*_WM_RBUTTONDBLCLK*/] = function(hwnd,message,wParam,lParam){
var x,y = ..win.getMessagePos(lParam)
if owner.onMouse_RDblclk {if(owner.onMouse_RDblclk(x,y)!==null) return true; }
}
[0x200/*_WM_MOUSEMOVE*/] = function(hwnd,message,wParam,lParam){
var x,y = ..win.getMessagePos(lParam)
if owner.onMouse_Move {if(owner.onMouse_Move(x,y)!==null) return true;}
}
[0x20A/*_WM_MOUSEWHEEL*/] = function(hwnd,message,wParam,lParam){
var x,y = ..win.getMessagePos(lParam)
if owner.onMouse_Wheel {if(owner.onMouse_Wheel((wParam<<8)/(..math.abs(wParam<<8)),x,y)!==null) return true;}
}
[0x202/*_WM_LBUTTONUP*/] = function(hwnd,message,wParam,lParam){
var x,y = ..win.getMessagePos(lParam)
if owner.onMouse_LUp {if(owner.onMouse_LUp(x,y)!==null) return true; }
}
[0x201/*_WM_LBUTTONDOWN*/] = function(hwnd,message,wParam,lParam){
var x,y = ..win.getMessagePos(lParam)
if owner.onMouse_LDown {if(owner.onMouse_LDown(x,y)!==null) return true; }
}
[0x203/*_WM_LBUTTONDBLCLK*/] = function(hwnd,message,wParam,lParam){
var x,y = ..win.getMessagePos(lParam)
if owner.onMouse_LDblclk {if(owner.onMouse_LDblclk(x,y)!==null) return true; }
}
[0x101/*_WM_KEYUP*/] = function(hwnd,message,wParam,lParam){
if owner.onKey_Up {if(owner.onKey_Up(wParam)!==null) return true; }
}
[0x100/*_WM_KEYDOWN*/] = function(hwnd,message,wParam,lParam){
if owner.onKey_Down {if(owner.onKey_Down(wParam)!==null) return true; }
}
[0x102/*_WM_CHAR*/] = function(hwnd,message,wParam,lParam){
if owner.onChar {if(owner.onChar(wParam)!==null) return true; }
}
}
}
}
/***intellisense()
godking.on = 挂接事件
godking.on() = 挂接事件\nbton = godking.on(winform.button)\n!ctrlon.
!ctrlon.onMouse_RDown(x,y) = @.onMouse_RDown = function(x,y){
__/*这里输入鼠标右键按下事件的代码,有返回值则阻止调用默认回调函数*/
}
!ctrlon.onMouse_RUp(x,y) = @.onMouse_RUp = function(x,y){
__/*这里输入鼠标右键放开事件的代码,有返回值则阻止调用默认回调函数*/
}
!ctrlon.onMouse_RDblclk(x,y) = @.onMouse_RDblclk = function(x,y){
__/*这里输入鼠标右键双击事件的代码,有返回值则阻止调用默认回调函数*/
}
!ctrlon.onMouse_Move(x,y) = @.onMouse_Move = function(x,y){
__/*这里输入鼠标移动事件的代码,有返回值则阻止调用默认回调函数*/
}
!ctrlon.onMouse_Wheel(x,y) = @.onMouse_Wheel = function(l/*滚动距离*/,x,y){
__/*这里输入鼠标滚轮滚动事件的代码,有返回值则阻止调用默认回调函数*/
}
!ctrlon.onMouse_LUp(x,y) = @.onMouse_LUp = function(x,y){
__/*这里输入鼠标左键放开事件的代码,有返回值则阻止调用默认回调函数*/
}
!ctrlon.onMouse_LDown(x,y) = @.onMouse_LDown = function(x,y){
__/*这里输入鼠标左键按下事件的代码,有返回值则阻止调用默认回调函数*/
}
!ctrlon.onMouse_LDblclk(x,y) = @.onMouse_LDblclk = function(x,y){
__/*这里输入鼠标左键双击事件的代码,有返回值则阻止调用默认回调函数*/
}
!ctrlon.onKey_Up(keycode) = @.onKey_Up = function(keycode){
__/*这里输入键盘按键放开事件的代码,有返回值则阻止调用默认回调函数*/
}
!ctrlon.onKey_Down(keycode) = @.onKey_Down = function(keycode){
__/*这里输入键盘按键按下事件的代码,有返回值则阻止调用默认回调函数*/
}
!ctrlon.onChar(keycode) = @.onChar = function(keycode){
__/*这里输入键盘字符输入事件的代码,有返回值则阻止调用默认回调函数*/
}
end intellisense ***/
示例代码如下:
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add(
button={cls="button";text="Button";left=248;top=224;right=408;bottom=296;z=1};
edit={cls="edit";text="Edit";left=248;top=80;right=416;bottom=192;edge=1;multiline=1;z=2};
static={cls="static";text="Static";left=248;top=344;right=592;bottom=384;font=LOGFONT(h=-16);transparent=1;z=3}
)
/*}}*/
import godking.on
bt = godking.on(winform.button)
bt.onMouse_RDown = function(x,y){
winform.static.text="按钮鼠标右键按下了"
}
bt.onMouse_RUp = function(x,y){
winform.static.text="按钮鼠标右键放开了"
}
bt.onMouse_LDown = function(x,y){
winform.static.text="按钮鼠标左键按下了"
}
bt.onMouse_LUp = function(x,y){
winform.static.text="按钮鼠标左键放开了"
}
e=win.ui.ctrl.on(winform.edit)
e.onKey_Up = function(keycode){
winform.static.text="onKey_Up"+keycode
}
e.onKey_Down= function(keycode){
winform.static.text="onKey_Down"+keycode
}
e.onChar = function(keycode){
winform.static.text="onChar"+keycode
return 1; //阻断了默认回调函数,不能输入字符了
}
winform.show();
win.loopMessage();