Alguien me podría explicar como hacer mi propio control pero algo avanzado O darme una dirección sobre este tema
Respuesta de rogersr
1
1
rogersr, Ingeniero de Sistemas Especialista en Teleinformática Programador...
Podrías comenzar en el Gurú Programador: http://www.elguruprogramador.com.ar/zonas/ver.asp?id=93 Si necesitas algo más avanzado me comentas. Suerte ! Rogers R.
Este es lo que tengo hasta el momento y lo me falta es cuando entre en el área del control lo que contenga el caption del ocx se subraya y también el borde del ocx cambie y cundo salga se vuelva a la normalidad Event Click() Public Property Get Caption() As String Caption = Lbl.Caption End Property Public Property Let Caption(ByVal New_Caption As String) Lbl.Caption() = New_Caption PropertyChanged "Caption" End Property Private Sub UserControl_Click() RaiseEvent Click End Sub Public Property Get Picture() As Picture Set Picture = Img.Picture End Property Public Property Set Picture(ByVal New_Picture As Picture) Set Img.Picture = New_Picture PropertyChanged "Picture" End Property Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) UserControl.MousePointer = 14 End Sub Private Sub UserControl_ReadProperties(PropBag As PropertyBag) Lbl.Caption = PropBag.ReadProperty("Caption", "") Set Picture = PropBag.ReadProperty("Picture", Nothing) End Sub Private Sub UserControl_WriteProperties(PropBag As PropertyBag) Call PropBag.WriteProperty("Caption", Lbl.Caption, "") Call PropBag.WriteProperty("Picture", Picture, Nothing) End Sub
¿Gracias por tu colaboración en mi? Pero necesito más ejemplos por que lo que yo quiero hacer es un ocx Casi como un botón Se el pueda y es obligatorio ponerle una imagen y esa imagen yo la pongo en 300 x 300 y también uso un label para ponerle el nombre por ejemplo guardar el único evento que tien es click pero yo quiero hacer es que cuando pase el cursor por allí el cursor cambie y el border también
Lo que tienes que hacer es utilizar el Evento MouseMove, al igual que con Evento Click, por ejemplo para cambiar el Caption de un Botón sería: Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Command1.Caption = "Moviendo Mouse" End Sub Puedes verificar la posición del Cursor dentro del Control con los argumentos POR y Y. Espero te sirva. Suerte ! Rogers R.
Eso lo controlas en el evento MouseMove, teniendo en cuenta la posición del Cursor sobre el Control, algo así como: Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If (X > 0 And X < 300) And (Y > 0 And Y < 300) Then UserControl.MousePointer = 14 Lbl.FontUnderline = True UserControl.BorderStyle = 1 Else UserControl.MousePointer = 0 Lbl.FontUnderline = False UserControl.BorderStyle = 0 End If End Sub Espero te sirva ... Suerte ! Rogers R.
OK Gracias aunque eso solo me sirvió para lo del mouse pero no estoy 100 % seguro seguiré intentando y te consulto cualquier duda y por favor mandame una dirección algo más avanzada la que me ofrecistes antes gracias