import win.ui;
import console
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add()
/*}}*/
import win.timer
import mouse
var timer = win.timer(winform)
timer.onTimer = function(hwnd,msg,id,tick){
var x,y=mouse.getPos()
var rc=winform.getRect(true)
if ::PtInRect(rc,x,y) console.log("鼠标在窗口内拖动",tostring(time()))
}
import mouse.hook
var hook=mouse.hook()
hook.proc = function(msg,x,y,mouseData,injected,flags,timeStamp,extraInfo){
select(msg) {
case 0x201/*_WM_LBUTTONDOWN*/{
::PostMessage(winform.hwnd,0x401,x,y)//通知窗体鼠标按下了,也就是开始拖动状态
}
case 0x202/*_WM_LBUTTONUP*/{
::PostMessage(winform.hwnd,0x402,x,y)//通知窗体鼠标抬起了,也就是结束拖动状态
}
}
}
winform.wndproc = function(hwnd,message,wParam,lParam){
select(message) {
case 0x401 {
//在拖动状态下启动计时器实时监测鼠标位置
timer.enable()
}
case 0x402 {
//停止计时器
timer.disable()
}
}
}
winform.show();
win.loopMessage();
到了这一步,再说开头提到的高级选项卡的响应,就很简单了。选项卡也是窗口,没有什么太多不同。后面我们用IDE自带的导航页面模板试一试。