Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

generar sombras en un Form.

Estas en el tema de generar sombras en un Form. en el foro de Visual Basic clásico en Foros del Web. Como genero una sombra en los TextBox???? He encontrado este articulo: http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/251-crear-sombra-3d-en-controles.htm pero seaplica a todos los controles. Se puede aplicar solo a los TextBox?? ...
  #1 (permalink)  
Antiguo 17/01/2008, 09:14
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
generar sombras en un Form.

Como genero una sombra en los TextBox????

He encontrado este articulo: http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/251-crear-sombra-3d-en-controles.htm

pero seaplica a todos los controles.
Se puede aplicar solo a los TextBox??

gracias!
  #2 (permalink)  
Antiguo 17/01/2008, 10:12
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Re: generar sombras en un Form.

  1. Código:
  2. If Not TypeOf El_Control Is Label And _
  3. Not TypeOf El_Control Is Shape And _
  4. Not TypeOf El_Control Is Line Then _
  5. 'Dibuja la sombra: Indicar el color y el grosor
  6. Call Generar_Sombra(Contenedor, El_Control, ANCHO_SOMBRA, COLOR_SOMBRA)
  7. End If
en esta parte modificas el código de esta manera
  1. If TypeOf El_Control Is Textbox Then
  2. 'Dibuja la sombra: Indicar el color y el grosor
  3. Call Generar_Sombra(Contenedor, El_Control, ANCHO_SOMBRA, COLOR_SOMBRA)
  4. End If
revisá el código puesto lo modifique a "mano alazada"

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #3 (permalink)  
Antiguo 17/01/2008, 17:50
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: generar sombras en un Form.

Hola,donde dice:

Código:
If Not TypeOf El_Control Is Label
tenes que cambirlo por los controles que NO queres que tengan la sombra,en este caso el label esta indicado que no tenga..

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #4 (permalink)  
Antiguo 17/01/2008, 17:55
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Re: generar sombras en un Form.

Cita:
Iniciado por seba123neo Ver Mensaje
Hola,donde dice:

Código:
If Not TypeOf El_Control Is Label
tenes que cambirlo por los controles que NO queres que tengan la sombra,en este caso el label esta indicado que no tenga..

saludos.
bueno es otra opción pero creo que es mejor poner únicamente el que se desea a bloquear todos los que no...

pero buena opción seba.

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #5 (permalink)  
Antiguo 18/01/2008, 04:16
 
Fecha de Ingreso: julio-2005
Mensajes: 140
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: generar sombras en un Form.

gracias cracks!

aunque me da un error en la liniea:

Grosor = El_Contenedor.DrawWidth

el error es: Object doesn't suppor this property ir method
  #6 (permalink)  
Antiguo 18/01/2008, 09:44
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: generar sombras en un Form.

hola,no se como lo estas haciendo pero el codigo seria asi para solo los textbox..

Código:
Option Explicit

Const ANCHO_SOMBRA As Integer = 5
Const COLOR_SOMBRA As Long = &H808080


Private Sub Form_Paint()

Dim El_Control As Control
Dim Contenedor As Object

For Each El_Control In Me.Controls

    Set Contenedor = El_Control.Container

    If TypeOf El_Control Is TextBox Then

       Call Generar_Sombra(Contenedor, El_Control, ANCHO_SOMBRA, COLOR_SOMBRA)
    
    End If

Next

If Not El_Control Is Nothing Then
   El_Control = Nothing
End If

End Sub

Private Sub Generar_Sombra(El_Contenedor As Object, _
                           El_Control As Control, _
                           Grosor_Sombra As Integer, _
                           COLOR_SOMBRA As Long)
    
    Dim X As Single
    Dim Y As Single
    Dim Ancho As Single
    Dim Alto As Single
    
    Dim Escala As Integer
    Dim Grosor As Integer
    

    Grosor = El_Contenedor.DrawWidth
    Escala = El_Contenedor.ScaleMode
    
    El_Contenedor.DrawWidth = 1
    El_Contenedor.ScaleMode = vbPixels

    X = El_Control.Left + Grosor_Sombra
    Y = El_Control.Top + Grosor_Sombra

    Ancho = El_Control.Width - 1
    Alto = El_Control.Height - 1

    El_Contenedor.Line (X, Y)-Step(Ancho, Alto), COLOR_SOMBRA, BF

    El_Contenedor.ScaleMode = Escala
    El_Contenedor.DrawWidth = Grosor
    
End Sub
saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:53.