Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

能不能鼠标固定在控件上?

不务实  发表于:2009-10-16 16:21:39  
复制

能不能鼠标固定在控件上?

窗体加载时,焦点在  添加 按钮上,当窗体上字段有空值时,禁止离开,除非你按了 添加 按钮或者你退出


我现在用的变通的方法,如下:(有没有更好的办法?我不想焦点到保存上)
Private Sub 保存()
If IsNull(凭证号码) Or IsNull(凭证日期) Or IsNull(凭字ID) Then
Me.添加.SetFocus
End If
End Sub

Private Sub 添加_LostFocus()
If IsNull(凭证号码) Or IsNull(凭证日期) Or IsNull(凭字ID) Then
Me.保存.SetFocus
End If
End Sub

 

Top
符鸿敏 发表于:2009-10-16 19:06:10
Private Sub 保存()
If IsNull(凭证号码) Or IsNull(凭证日期) Or IsNull(凭字ID) Then
Me.凭证号码.SetFocus
End If
End Sub

Private Sub 添加_LostFocus()
If IsNull(凭证号码) Or IsNull(凭证日期) Or IsNull(凭字ID) Then
Me.凭证号码.SetFocus
End If
End Sub



不务实 发表于:2009-10-16 20:01:03

不是与我的一样的道理吗?还不如我的,这样到了 Me.凭证号码 上了,我不想到别的任何控件上,目的是禁止编辑的意思

 

因为我这种情况只是在新记录的情况,  好像新记录时 设置不允许编辑是不起作用的,我这样用是只有按了 添加 按钮才可编辑的目的

 

因为按了添加按钮的,我才有赋值的定义。

 



trynew 发表于:2009-10-17 10:18:15

控制鼠标的位置及限制鼠标只能在一个控件中移动是可以的,但这要用到API函数,还是有一定难度的。但这应该是方便别人进行点击操作而不是控制是否能编辑,如果鼠标被限制住了,连关闭及取消按钮都移不过去,那徐步窝火的很:)

其实一般控制是否能编辑,一般都是使用控件的是否可用性属性(包括数据录入控件、添加及保存按钮),这样还可以起到一个提示的作用。你的要求利用窗体的加载事件、数据插入事件、成为当前事件、是否为新记录属性、是否允许添加属性等事件及属性,以及在按钮中的代码,就可以灵活地处理各种赋值、窗体及控件的是否可编辑,数据的完整及数值的检查等。

 

你这个可以在成为当前事件中,判断是否为新记录(Me.NewRecord = True),是则把所有控件的可用性设为否,单击添加按钮后再设为是。

 

另外,提问题最好附加一个文件,除非你是一点通:)



不务实 发表于:2009-10-17 17:09:43

不能做到,只好把所有控件设为锁定,不允许输入,  (不想设为不可用,因为不可用是灰色的很能难看)

能要一下子设所有控件锁定吗?一个个的设太费事,

 

 



颜虎 发表于:2009-10-21 18:46:51
??

andymark 发表于:2009-10-21 21:38:51

楼主的思路有问题,不建议这样做

 

 

限制鼠标移动的例子

http://www.accessoft.com/article-show.asp?id=1469

 

重写部份代码,楼主根据实际情况进行修改

 

 

点击下载此附件

不务实 发表于:2009-10-22 09:20:22

还是我的方法好些,不过感谢大家

 



总记录:7篇  页次:1/1 9 1 :