|
本帖最后由 红尘如烟 于 2011-7-23 00:32 编辑
老猫最近是不是最近被人当成病猫了?突然开始发威了
这个问题我以前也遇到过,用超链接属性的话,用着简单是简单,但总结起来存在下面几个问题:
1. 光标移上去之后,会显示一个空的控件提示(浅黄色的那个),看着不爽,没有解决办法。
2. 会自动打开Web工具栏,很烦人,解决办法就是CommandBars("Web").Enabled = False禁用它。
3. 打开的弹出窗体得不到焦点,原因是点击超链接之后,会自动打开Web工具栏,并将焦点移到Web工具栏中的一个输入框里面,而就算禁用了Web工具栏,这个焦点移动还是会发生,虽然Web工具栏被禁用了,但是由于工具栏属于Access主窗口中的一部分,所以焦点会移到Access主窗口,因此如果不是弹出窗体就没有这种情况。就算像老猫那样用计时器事件,但是如果用的多了还得在很多地方加代码,还是很麻烦。
所以权衡之下,我现在一直用API来实现了,代码如下,直接设置一下“鼠标移动”事件属性就行:=SetCursor()- Private Declare Function apiSetCursor Lib "user32" Alias "SetCursor" (ByVal hCursor As Long) As Long
- Private Declare Function apiLoadCursorByNum Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
- '光标形状常量枚举
- Public Enum cuCursorType
- cuCursorHand = 32649 '手形
- cuCursorAppStarting = 32650 '系统忙
- cuCursorArrow = 32512 '常规箭头形
- cuCursorCross = 32515 '十字形
- cuCursorIbeam = 32513 '文本插入
- cuCursorIcon = 32641 '使用指定光标
- cuCursorNo = 32648 '不可用
- cuCursorSize = 32640 '隐藏指针
- cuCursorSizeAll = 32646 '选中并移动
- cuCursorSizeNESW = 32643 '左下角右上角大小调整
- cuCursorSizeNS = 32645 '上下调整
- cuCursorSizeNWSE = 32642 '左上角右下角大小调整
- cuCursorSizeWE = 32644 '左右调整
- cuCursorUpArrow = 32516 '上箭头
- cuCursorWait = 32514 '沙漏
- End Enum
- '将光标设为指定形状,默认为手形,在对象的鼠标移动事件中调用
- Public Function SetCursor(Optional CursorType As cuCursorType = cuCursorHand)
- Call apiSetCursor(apiLoadCursorByNum(0, CursorType))
- End Function
复制代码 |
|