当我只在那个对象上按下而拖动鼠标在其它地方弹起时,那个image状态不会变回原来的状态?
我在对象的lostfoucus 写了事件可以当鼠标已离开了时,它的状态还是不变,直到点了其它的对象
------解决方案--------------------
这个比较麻烦,需要在mouse里写代码控制
定义API:
FUNCTION ulong SetCapture(ulong hwnd) LIBRARY "user32.dll"
FUNCTION ulong ReleaseCapture() LIBRARY "user32.dll"
事例变量 ib_mousein = false
mousemove event:
if ib_mousein <>(xpos>0 and ypos>0 and xpos<width and ypos<height)then return
ib_mousein = not ib_mousein
if ib_mousein then
SetCapture( handle( this ) )
//这里写鼠标进入控件的
else
ReleaseCapture( )
//这里写鼠标离开的
end if
------解决方案--------------------
不是lostfocus事件而是mousemove事件
在把我昨天给你的代码稍加修改即可
首先设定一局部变量 String is_focus_picture //当前获焦点的图片名
在u_down事件中
If dw_main.Modify(ls_object + ".Border='5'") = "" Then
is_focus_picture = ls_object//当鼠标左键按下时,设置当前获得焦点的图片名
End If
在mousmove中
Integer li_picture_sum, i, li_pos
String ls_object
ls_object = Lower(dw_main.GetObjectAtPointer())
li_pos = Pos(ls_object, "~t")
if li_pos>0 then
ls_object = Left(ls_object, li_pos - 1)
if ls_object =is_focus_picture then
else
Modify(is_focus_picture + ".Border='6'") //设置图片弹起效果
end if
else
Modify(is_focus_picture + ".Border='6'") //设置图片弹起效果
end if
上面代码未经测试,请楼主自行完善一下