Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Psyke1 en 10 Mayo 2010, 21:52 pm



Título: [ahora SI funciona] [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: Psyke1 en 10 Mayo 2010, 21:52 pm
Hola a todos, he estado trabajando para convertir tus Forms en persianas :o, si, como oyes, en persianas. :)
Ahora SI funciona, os lo prometo, sino, os devuelvo el dinero... :xD
IMPORTANTE: DEBEIS PONER LA PROPIEDAD BORDERSTYLE EN NONE
Aqui va el code, (esto deberia estar en módulo):
Código
  1. ' ////////////////////////////////////////////////////////////////
  2. ' // *Autor: *PsYkE1* (miguelin.majo@gmail.com)                 //
  3. ' // *Podeis agrandar o reducir el codigo, siempre y cuando se  //
  4. ' // respete la autoria y se me comuniquen esos cambios.        //
  5. ' // *Agradecimientos a BlackZeroX.                             //
  6. ' // *Visita http://foro.rthacker.net                           //
  7. ' ////////////////////////////////////////////////////////////////
  8.  
  9. Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  10.  
  11. Public Sub Persiana(miForm As Form, Vel As Integer, Desplegar As Boolean, Alto As Boolean _
  12. , Acabar As Boolean)
  13.    Dim Largo As Integer
  14.    With miForm
  15.        If Desplegar = True Then
  16.            If Alto = True Then
  17.                Largo = .Height
  18.                .Height = 0
  19.                While Not .Height >= Largo
  20.                    .Height = .Height + 2
  21.                    Sleep Vel
  22.                Wend
  23.            Else
  24.                Largo = .Width
  25.                .Width = 0
  26.                While Not .Width >= Largo
  27.                    .Width = .Width + 2
  28.                    Sleep Vel
  29.                Wend
  30.            End If
  31.        Else
  32.            If Alto = True Then
  33.                While Not .Height <= 10
  34.                    .Height = .Height - 10
  35.                    Sleep Vel
  36.                Wend
  37.            Else
  38.                While Not .Width <= 10
  39.                    .Width = .Width - 2
  40.                    Sleep Vel
  41.                Wend
  42.            End If
  43.        End If
  44.    End With
  45.    If Acabar = True Then End
  46. End Sub

Bien, ahora para llamarlo desde un Form pondríamos esto:
Código
  1. Private Sub Form_Activate()
  2.    Call Persiana(Me, 5, False, True, True)
  3. End Sub
( esta llamada se ejerceria sobre el Form actual, con una velocidad de 5(si quereis que vaya mas despacio aumentar el valor, no bajarlo ;)), para que se cierre la persiana, de abajo a arriba y que al completarse se finalice el programa)

Quizas alguien tenga alguna duda preguntar, que es gratis... ;)

Salu2! ;D


Título: Re: [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: ssccaann43 © en 10 Mayo 2010, 23:13 pm
Se me cuelga el VB... No me funciona...! :(


Título: Re: [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: Psyke1 en 10 Mayo 2010, 23:58 pm
mmmmmmm
q es exactamente lo que te pasa?¿ :huh:
recuerda que:
IMPORTANTE: DEBEIS PONER LA PROPIEDAD BORDERSTYLE EN NONE
Seguramente lo que te pase es que se pliega, pero se queda asi, verdad¿?
Poniendo esto no deberias tener problemas...
Salu2! ;D


Título: Re: [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: agus0 en 11 Mayo 2010, 00:34 am
Si a mi tambien se me cuelta, puse el BorderStyle en None, Pero se cierra igual. Tengo Windows 7


Título: Re: [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: Psyke1 en 11 Mayo 2010, 00:47 am
mmmmmmmmm
comprendo, el caso es que a mi me funciona, bajaros el proyecto:


http://www.mediafire.com/?z12mynyjwgt (olvidadlo que tiene fallos, el code que esta posteado funciona bien)
A ver si asi... :-\

Salu2! ;D


Título: Re: [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: Psyke1 en 11 Mayo 2010, 00:58 am
Ya se lo que pasa...
A que lo habeis llamado asi:

Código
  1. Private Sub Form_Load()
  2.   Call Persiana(Me, 10, False, True, True)
  3. End Sub
Si creais un boton y pones la llamada funciona!! ;D
Y si soy sincero no se porque, se os ocurre algo?¿ :huh:

Salu2! ;D


Título: Re: [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: BlackZeroX en 11 Mayo 2010, 08:13 am
son muchas lineas... mejor pon un timer via api en un modulo y con Mod lo haces no crees? se reduciria mucho el peso...

ejemplo:

Código
  1.  
  2. rem     en un Form agregar:
  3. rem     1 PictureBox
  4. rem     1 CommandButton
  5. rem     1 Timer
  6.  
  7. option explicit
  8.  
  9. Private Expandir As Boolean
  10. Private AuxNum As Long
  11. Private Const LimAlt As Long = 4095
  12. Private Const Velocity As Byte = 5
  13. Private Expand As Boolean
  14.  
  15. Private Sub Command1_Click()
  16.    With Timer1
  17.        .Enabled = True
  18.        .Interval = 1
  19.    End With
  20.    Expand = Not Expand
  21.    AuxNum = Velocity
  22. End Sub
  23.  
  24. Private Sub Form_Load()
  25.    With Picture1
  26.        .Height = LimAlt
  27.        .Top = 0
  28.        .Left = 0
  29.    End With
  30.    With Command1
  31.        .Height = 256
  32.        .Caption = "Ejemplo por BlackZeroX."
  33.        .Width = 2500
  34.        .Top = 0
  35.        .Left = Picture1.Width + 500
  36.    End With
  37.    Me.Height = LimAlt + 1000
  38.    Me.Width = Command1.Width + Command1.Left + 800
  39. End Sub
  40.  
  41. Private Sub Timer1_Timer()
  42. On Error GoTo Termina
  43.    With Picture1
  44.        If Not Expand Then
  45.            .Height = .Height + AuxNum
  46.            If .Height >= LimAlt Then
  47.                .Height = LimAlt
  48.                GoTo Termina
  49.            End If
  50.            AuxNum = AuxNum + Velocity
  51.        Else
  52.            .Height = .Height + AuxNum
  53.            If .Height <= 1 Then
  54.                .Height = 1
  55.                GoTo Termina
  56.            End If
  57.            AuxNum = AuxNum - Velocity
  58.        End If
  59.    End With
  60. Exit Sub
  61. Termina:
  62.    Err.Clear
  63.    Timer1.Enabled = False
  64. End Sub
  65.  
  66.  

Es solo un ejemplo se puede pasar a un Modulo De Clase pero por ahorita no cuento con mucho tiempo solo lo dejo asi.

Sangriento Infierno Lunar!¡.


Título: Re: [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: Psyke1 en 11 Mayo 2010, 09:33 am
Gracias BlackZeroX▓▓▒▒░░ !!! ;-)
Esta muy bien el tuyo!! ;D
x cierto:
Si creais un boton y pones la llamada funciona!! ;D
Y si soy sincero no se porque, se os ocurre algo?¿ :huh:

Salu2! ;)


Título: Re: [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: Karcrack en 11 Mayo 2010, 11:48 am
Código:
http://msdn.microsoft.com/en-us/library/ms632669%28VS.85%29.aspx
AnimateWindow() permite hacer lo mismo si no me equivoco :)


Título: Re: [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: Psyke1 en 11 Mayo 2010, 13:22 pm
Gracias Karcrack!! ;D
voy a echarle un vistazo... ;)

Salu2! ;D


Título: Re: [ahora SI funciona] [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: Psyke1 en 12 Mayo 2010, 17:38 pm
Mirar el code
Hice unos arreglos con la ayuda de raul388 y funciona a la perfeccion! :laugh:
Espero que ahora les guste! :rolleyes:

Salu2 ;)


Título: Re: [ahora SI funciona] [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: raul338 en 12 Mayo 2010, 18:39 pm
:xD viste que se pudo (:huh:)

Nota, los que quieran ponerlo como animacion de entrada deben llamar al procedimiento en el evento activate del form, o sino en el Form_Load pero deben llamar a Me.Show antes ;-)


Título: Re: [ahora SI funciona] [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: ssccaann43 © en 12 Mayo 2010, 18:48 pm
jaja.. Buena...! Me gusto...! :rolleyes:


Título: Re: [ahora SI funciona] [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: BlackZeroX en 13 Mayo 2010, 04:00 am
:xD viste que se pudo (:huh:)

Nota, los que quieran ponerlo como animacion de entrada deben llamar al procedimiento en el evento activate del form, o sino en el Form_Load pero deben llamar a Me.Show antes ;-)

si llaman a load frm_Main donde frm_Main es el formulario la animacion no se viera xP (Almenos que se compruebe si esta visible o no el form dentro del proceso aninacion respectivo).

el evento form_load no creo que sirva si esta oculto xP.
y en form_activate se va a activar cadavez que se active la ventana es mejor llamar al proceso de forma externa dentro de un Sub main()

Sangriento Infierno Lunar!¡.


Título: Re: [ahora SI funciona] [SRC] + [Módulo] Persianas [VB6] [by *PsYkE1*]
Publicado por: Psyke1 en 13 Mayo 2010, 12:32 pm
:xD viste que se pudo (:huh:)

Nota, los que quieran ponerlo como animacion de entrada deben llamar al procedimiento en el evento activate del form, o sino en el Form_Load pero deben llamar a Me.Show antes ;-)

si llaman a load frm_Main donde frm_Main es el formulario la animacion no se viera xP (Almenos que se compruebe si esta visible o no el form dentro del proceso aninacion respectivo).

el evento form_load no creo que sirva si esta oculto xP.
y en form_activate se va a activar cadavez que se active la ventana es mejor llamar al proceso de forma externa dentro de un Sub main()

Sangriento Infierno Lunar!¡.
Exacto, el problema que tenia antes era que lo puse en Form_Load, entonces se activaba antes de que se mostara el Form :laugh:, para ello, hay tres soluciones:
*La que puse en el post de poner Me.Show en  Form_Load.
*Otra seria ponerlo en  Form_Acivate.
*(Ya me di cuenta de eso, aunque voy a cambiarlo como me dices tu que es mas profesional  :P)...

Salu2 y gracias!! ;)