在PB中避免鼠标滚轮引起的数据变化
软件世界
在PB程序中,当用户按上下箭头键、pageup键、pagedown键、鼠标滚轮都会使数据窗的数据上下翻滚。有时为了只编辑某一条记录,必须屏蔽掉这些功能。屏蔽按键事件比较容易,但屏蔽3D鼠标滚轮的滚动却比较难了,因为在PB中没有与之对应的事件处理鼠标滚轮滚动。还有,打印预览时,鼠标滚轮滚动可能会引起非法操作。
为了解决上述问题,我使用spy++跟踪了数据窗口控件的消息,并查阅了msdn中的相关资料,最终发现鼠标滚轮滚动时产生WM_MOUSEWHEEL消息,WM_MOUSEWHEEL的十进制代码为522。那么,把它在数据窗口控件中屏蔽掉就解决问题了。
打开数据窗口控件的other事件脚本,加入下面一句语句:
//不处理鼠标滚轮滚动时产生的WM_MOUSEWHEEL消息(十进制代码为522)
if message.number=522 then return 1
注:该方法在PB6.5、Win2000、SQL Server 7下测试通过。