He Said Joe was Closest with just changing the colour and passing the event through, You Just Need To Make Some Modifications to the Coordinates of the Mouse Events.
Something Like This Will Do
Hope this helpsCode:Option Explicit Dim boolLabelEnable As Boolean Dim lngColours(-1 To 0) As Long 'Colours for label Private Sub Form_Load() lngColours(True) = vbRed 'You Can use any clours you want here, true is the Enabled Colour lngColours(False) = vbBlue 'False is the Disabled Colour LabelEnable = True 'Set The Labelenable property End Sub Private Property Get LabelEnable() As Boolean LabelEnable = boolLabelEnable End Property Private Property Let LabelEnable(new_LabelEnable As Boolean) Label1.ForeColor = lngColours(new_LabelEnable) boolLabelEnable = new_LabelEnable End Property Private Sub Label1_Click() If LabelEnable Then 'Label1_Click Code Here Else On Error Resume Next 'In Case We Don't Have a picture1_Click Picture1_Click On Error GoTo 0 End If End Sub Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If LabelEnable Then 'Label1_MouseDown Code Here MsgBox X Else On Error Resume Next 'In Case We Don't Have a picture1_MouseDown Picture1_MouseDown Button, Shift, Picture1.ScaleX(X, vbTwips, Picture1.ScaleMode) + Label1.Left, ScaleY(Y, vbTwips, Picture1.ScaleMode) + Label1.Height On Error GoTo 0 End If End Sub Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If LabelEnable Then 'Label1_MouseMove Code Here MsgBox X Else On Error Resume Next 'In Case We Don't Have a picture1_MouseMove Picture1_MouseMove Button, Shift, Picture1.ScaleX(X, vbTwips, Picture1.ScaleMode) + Label1.Left, ScaleY(Y, vbTwips, Picture1.ScaleMode) + Label1.Height On Error GoTo 0 End If End Sub Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If LabelEnable Then 'Label1_MouseUp Code Here MsgBox X Else On Error Resume Next 'In Case We Don't Have a picture1_MouseUp Picture1_MouseUp Button, Shift, Picture1.ScaleX(X, vbTwips, Picture1.ScaleMode) + Label1.Left, ScaleY(Y, vbTwips, Picture1.ScaleMode) + Label1.Height On Error GoTo 0 End If End Sub




Reply With Quote