Son dos funciones sencillas pero útiles, (ApplyStyle y DestroyApplyStyle) las cree para un programa, usa el Objeto Shape que es creado en tiempo de ejecución para crear los bordes de los objetos, dejo un screen:
Aqui el code:
Código
Con esto aplicamos un estilo a un Objeto llamandolo asi: (Sintaxis)
Private Function ApplyStyle(ByVal Obj As Object, Optional ByVal Tipo As BorderStyleConstants, _ Optional ByVal Color As Long) As Long On Error GoTo CreateObjectLine: Randomize CreateObjectLine: ' Etiqueta, si ocurre un error al crear la linea, intenta de nuevo With Me.Controls.Add("VB.Shape", "ShapeGrap" & CLng((CLng(Rnd * 999) * 999) + Err.Number)) On Error GoTo 0: On Error Resume Next ' Desactivar deteccion de err., iniciar detector de err. Obj.BorderStyle = 0 ' Se cumple solo si el objeto admite esta Propiedad Obj.Appearance = 0 ' Se cumple solo si el objeto admite esta Propiedad .Top = Obj.Top - 10 .Left = Obj.Left - 10 .Width = Obj.Width + 23 .Height = Obj.Height + 23 If Tipo = 0 Then Tipo = vbBSSolid ' Si la variable Tipo [Opcional] no se a definido .BorderStyle = Tipo .BorderColor = Color .Visible = True: Err.Clear .Tag = "PropertyApplyStyle" End With End Function
Código:
Call ApplyStyle(Objeto, Tipo_De_Borde[Opcional], Color_RGB_o_ColorConstans[Opcional]
Ejemplo:Añadimos un TextBox y añadimos este code al evento Form_Load..
Código:
Call ApplyStyle(Text1, vbBSSolid, RGB(200, 200, 200))
Esto aplica un borde de color Plomo a algo parecido al Text1..otro ejemplo:
Código:
Call ApplyStyle(Text1, vbBSDashDotDot, VbGreen)
Otro:Código:
Call ApplyStyle(Text1)
Esto es ApplyStyle, ahora para destruir el Style simplemente usamos otra funcion DestroyApplyStyle:DestroyApplyStyle
Esta es aun mas sencilla, podemos ocultar los Shape's gracias a la propiedad Tag que permite guardar info acerca del objeto..
Código
Uso:
Private Function DestroyApplyStyle() As Long On Error Resume Next: Dim Obj As Object For Each Obj In Form1.Controls If Obj.Tag = "PropertyApplyStyle" Then Me.Controls.Remove Obj End If Obj.BorderStyle = 1 Obj.Appearance = 1 DoEvents Next End Function
Código:
Call DestroyApplyStyle()
Espero les guste, y les sirva.. SaluDOS!!!