请教高手们,
1.如何用VB自定义控件做一个类型于WIN7的按钮效果。(鼠标放到BUTTON上则变色,移开则BUTTON恢复原色,我尝试过,但因为VB的控件只有MOUSEMOVE事件,没有MOVEOVER及MOVEOUT事件,如何做到?)2.VB自定义控件能否做一个窗体,将窗体样式改成WIN7效果。
以上问题,还请大家指教,谢谢!~
1.如何用VB自定义控件做一个类型于WIN7的按钮效果。(鼠标放到BUTTON上则变色,移开则BUTTON恢复原色,我尝试过,但因为VB的控件只有MOUSEMOVE事件,没有MOVEOVER及MOVEOUT事件,如何做到?)2.VB自定义控件能否做一个窗体,将窗体样式改成WIN7效果。
以上问题,还请大家指教,谢谢!~
我明白利用控件本身的MOVE和父控件的MOVE事件,但如果要做一个BUTON控件,父控件与控件本身相同大,无法实现父控件的MOVE事件(控件本身在上层)所以这个问题,还是很头痛!(我曾做成父控件大于子控件,这样就可以调用父控件的MOVE事件,但这不是最好的办法)大家继续发表看法!
Option Explicit
Dim WithEvents X As Form
Public Sub SetX()
Set X = UserControl.Parent
End SubPrivate Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Command1.Caption = "Hello"
End SubPrivate Sub UserControl_Initialize()
With Command1
.Left = 0
.Top = 0
End With
With UserControl
.Width = Command1.Width
.Height = Command1.Height
End With
End SubPrivate Sub UserControl_Resize()
With Command1
.Left = 0
.Top = 0
End With
With UserControl
.Width = Command1.Width
.Height = Command1.Height
End With
End SubPrivate Sub x_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print Time; "in control"
Command1.Caption = Time & "in control"
End Sub在放usercontrol的form1中
Private Sub Form_Load()
UserControl11.setx
End Sub我不知道你要具体怎么做,我举得好像是实现你的需要了,这里.parent是一个form,所以设置的x属性是form类型
如果把usercontrol放在一个picturebox里面,picturebox也可以是控件的容器,这个方法就不适合类似的,vb维护的parent是一个vb类,如果是个c的类也出错
你说的很对,问题已解决!顺便问一下,我记得VB6.0中有一组XP风格控件,但找不到了,不知大家是否知道!