自己做了一个按扭控件,怎么样让它得到焦点时, 同mouse_move()的变化效果一样?应该怎么做啊?
解决后马上结帖.......
解决方案 »
- 寻求会技术人员兼职,要求会VB, asp,html语言,XML,http协议,sql server,月薪2000元-3000元
- 求一段vba(excel)程序,如果在第一列A(i+1)cell中的值等于A(i)cell中的值+1,就在B(i)cell中拷贝A(i)cell的值,如果不等就另起一列C(i)c
- 关于区域选项的问题
- 求教:ADODC控件报错:数据库上下文更改
- 以前论坛有个精简vb6下载的帖子,请问那个下载地址是什么?
- 兄弟们那个知道ComboBox控件的文件名是什么?是不是Combo.ocx在线等待!
- 使用ASC("中"),得到的数字为-10544,怎样得到B0A1(应该是十六进制)到D7F9之间的数字
- 请问:怎样实现不同用户对菜单的分级别访问
- TabStrip的使用(在线等)
- 如何获取本机 Internet 地址?
- definition问题?
- 关于文件备份的问题
call mouse_move '对应的效果变化函数
End Sub
控件名.gotFocus()
call mouse_move
end sub()
2控件取焦点控件名.setfocus
call mouse_move '对应的效果变化函数
End Sub我写上了这句,但是它得到焦点还是没有mouse_move时的效果,
lzj34(缘来如此) 1事件控制
控件名.gotFocus()
call mouse_move
end sub()
2控件取焦点控件名.setfocus
用不用写
event gotfocus()
啊,怎么我一写上这名话就说和VB里的gotfocus冲突啊。
那位大侠能把它改成VB,造福人群?
call mouse_move '对应的效果变化函数
End Sub我写上了这句,但是它得到焦点还是没有mouse_move时的效果,
-------------------------------------------------------------------
怎么可能,你看看我以前写的一个简单按钮控件的例子吧,其中就有获得焦点的特殊效果处理,你可以参考一下。。
http://lookhere.8u8.com/control.rar
不过至于你说的这种情况,我赞成“ dragon525”的说法:
Private Sub UserControl_GotFocus()
call mouse_move
End Sub
得到MouseOver和MouseLeave 仅仅需要一个hwnd属性(不是子类),和当前鼠标在这个句柄指向的控件的face上的x,y坐标就好了!MouseMove都有提供!
Option ExplicitPrivate Declare Function SetCapture Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If X >= 0 And X <= Command1.Width And _
Y >= 0 And Y <= Command1.Height Then
Command1.Font.Size = 12
Command1.Font.Bold = True
SetCapture Command1.hWnd
Else
Command1.Font.Size = 9
Command1.Font.Bold = False
ReleaseCapture
End If
End SubPrivate Sub Form_Paint()
Cls
Print "请试着将鼠标移进移出命令按钮!"
End Sub
Dim x As Single, y As Single
Event mGotFocus()
Private Sub mGotFocus() '注意这里!
RaiseEvent Control.GotFocus
End Sub
Private Sub UserControl_GotFocus()
Call UserControl_MouseMove(0, 1, x, y) '对应的效果变化函数
End SubPrivate Sub UserControl_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
x = x
y = y
Print "dkdkdkd"
End Sub