ll_libload user, "user32.dll"
ll_getproc ClipCursor, "ClipCursor", user
#module
#deffunc mousebind int, int, int, int
mref left, 0 : mref top, 1 : mref right, 2 : mref bottom, 3
i = left, top, right, bottom
if i.0 ! 0 | (i.1 ! 0) | (i.2 ! 0) | (i.3 ! 0) {
ll_getptr i
ll_ret rect
} else {
rect = 0
}
ll_callfunc rect, 1, ClipCursor@
return
#global
sdim msg, 10, 2
msg = "制限する", "解除する"
area = 200, 100, 400, 300
bgscr 2, area.2 - area.0, area.3 - area.1, , area.0, area.1
color 200, 100, 200 : boxf
objsize 80, 20
pos 10, 10 : button "", *binding
pos 10, 40 : button "終了", *exit
onexit *exit
*binding
bflg = 1 - bflg
objprm 0, msg.bflg
mousebind bflg * area.0, bflg * area.1, bflg * area.2, bflg * area.3
stop
*exit
mousebind // 終了時には自動的に解除されるが念のため、解除処理を入れておく
|