ApplyStyle
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:
(http://img694.imageshack.us/img694/6601/grap1.png) (http://img694.imageshack.us/i/grap1.png/)
Aqui el code:
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
Con esto aplicamos un estilo a un Objeto llamandolo asi: (Sintaxis)
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..
Call ApplyStyle(Text1, vbBSSolid, RGB(200, 200, 200))
Esto aplica un borde de color Plomo a algo parecido al Text1..
otro ejemplo:
Call ApplyStyle(Text1, vbBSDashDotDot, VbGreen)
Otro:
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..
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
Uso:
Call DestroyApplyStyle()
Espero les guste, y les sirva.. ;)
SaluDOS!!!
¿ estos son los codigo de PortalHacker o yo estoy borracho ?
Cambiar el color de los bordes de un Frame y un TextBox simulándolos mediante un control Shape (http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/12.htm)
.
Exactamente aun que la vdd este se ve bien a diferencia del supuesto skin que es el que no me gusta para nada de nada.
Temibles Lunas!¡.
.
Cita de: seba123neo en 30 Enero 2010, 16:51 PM
¿ estos son los codigo de PortalHacker o yo estoy borracho ?
Cambiar el color de los bordes de un Frame y un TextBox simulándolos mediante un control Shape (http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/12.htm)
si, es el de CPH. Se ve que dcidio postearlo aora aqui.
a mi me gusta bastante la idea.
salu2!
Cita de: seba123neo en 30 Enero 2010, 16:51 PM
¿ estos son los codigo de PortalHacker o yo estoy borracho ?
Cambiar el color de los bordes de un Frame y un TextBox simulándolos mediante un control Shape (http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/12.htm)
Si son de PortalHacker ahí fue posteado originalmente :D
El del Link que pusiste, no, no se de quien serán..
Cita de: BlackZeroX▓▓▒▒░░ en 30 Enero 2010, 18:59 PM
.
Exactamente aun que la vdd este se ve bien a diferencia del supuesto skin que es el que no me gusta para nada de nada.
Temibles Lunas!¡.
.
Si a mi tampoco me gusto la idea de que sea un supuesto Skin ya que al moverlo el control Shape se quedaría aun ahí :P
Pero lo hice en caso de una emergencia XD, quería que la apariencia cambiara un poco sin usar muchos recursos, y sin usar ActiveSkin ;)
SaluDOS!!!