Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: soru13 en 10 Julio 2006, 22:17 PM

Título: splash de carga
Publicado por: soru13 en 10 Julio 2006, 22:17 PM
hola, aver si me podeis decir como hacer un splash o imagen de carga, es decir, cuando ejecutas el programa, te sale una ventanita que por ejemplo pone, Visual Basic 6, (como en VB en realidad) y empieza a cargar todos los componentes, pues aver como puedo hacer eso
Título: Re: splash de carga
Publicado por: Mad Antrax en 10 Julio 2006, 22:26 PM
La manera mas cutre sería esta...

Ejecutas el Spash.frm primero, y automaticamente ejecutas el Form1.frm pero pones Form1.Visible = False

De esta manera el Form1 se esta ejecutando y cargando sus componentes, pones un Timer de 4 segundos (mas o menos) y al finalizar pones el Form1.Visible = True

Supongo que hay un método mejor, pero para que quieres eso? Que componentes deseas cargar?
Título: Re: splash de carga
Publicado por: Red Mx en 10 Julio 2006, 22:51 PM
De la manera q yo lo ago solo pongo un timer a 1000 en el form cuando pasen los 1000 secarga el segundo form y diras y como es que ya se cargaron bueno en pcs un poco mas lentas este form se queda conjelado hasta que termine de cargar puden pasar mas de los 1000 y quedarse el form pasas erl mause y te aparece el icono del reloj en el puntero del mause.
Título: Re: splash de carga
Publicado por: NekroByte en 11 Julio 2006, 11:02 AM
Tan solo es cosa de ponerse a pensar un tantito:

frmMain.frm está con .Visible = False y frmSplash.frm en .Visible = True

frmMain ejecuta el proceso, digamos:

Sub Main()

   CargarComponentes()
   CrearInterfaz()
   Inicializar_aplicación()
   
   'Ya está todo listo

   DestroyWindow(frmSplash.hWnd)
   frmMain.Visible = True

End Sub


Hilsen.
Título: Re: splash de carga
Publicado por: Mad Antrax en 11 Julio 2006, 15:19 PM
exacto, a eso me referia :)
Título: Re: splash de carga
Publicado por: soru13 en 11 Julio 2006, 16:56 PM
ya lo consegui, os explico

2 forms, 1 para el splash

en el del splash ponemos 1 timer  y interval esta bien en 5000

    Unload Me
    Form1.Show


luego en las propiedades de form1 se pone visible en false

y en form1 en Private Sub Form_Load()  se pone en

Splash.Show

y ya esta, para personalizar el splash para que no tenga bordes podemos hacer

para que salga centrado (en las propiedades del form)

StartUpposition    2-CenterScreen

Border Style    1-Fixed Style
Título: Re: splash de carga
Publicado por: NekroByte en 12 Julio 2006, 06:59 AM
Yo soy de la idea de que, para casos como este, un Timer muestra falta de creatividad. Es mi pensamiento sólamente.

Hilsen.
Título: Re: splash de carga
Publicado por: BADBYTE-K en 12 Julio 2006, 08:29 AM
Hola

Bueno, esta claro, que lo del timer es "rustico", pero es lo ideal

o acaso son motores de maquinaria los que arrancaras desde tu splash en visual basic? tambien hay que pensar que el splash solo se vera 1 o 2 segundos si el procesamiento no hace operaciones extremadamente complejas. A menos que estes programando un "vbphotoshop" creo que el timer es ideal.

saludos
Título: Re: splash de carga
Publicado por: NekroByte en 12 Julio 2006, 10:38 AM
Je, bueno, creo que quedé medio trahumado por una aplicación que estoy haciendo (en lugar de un vbphotoshop es un vbnotepad2.exe,  osea, mi versión personalizada del notepad2.exe) y pues para aprender algo más decidí hacer casi todo con APIs y sin tantos controles ni dependencias por parte deVB, de modo que mi procedimiento main() quedó algo grande y con varias llamadas a procedimientos aún más grandes, y aunque no pasa de los 3 segundos en cargar (si se ejecuta por primera vez) ya me acostumbré a las cargas rápidas.

De cualquier forma sólo dije que yo no lo haría con un timer porque me parece innecesario.

Hilsener.
Título: Re: splash de carga
Publicado por: Hans el Topo en 12 Julio 2006, 22:33 PM
ave el compilador tiene una opcion para añadir el splash... añades un nuevo formulario.... proyecto/agregar formulario  (el tipo de inicio)

luego en proyecto/propiedades  ,  en objeto inicial pones el nuevo formulario añadido, el splash y el formulario le añades en el click del form que cargue el otro y listo...
Título: Re: splash de carga
Publicado por: LuckyMonkey en 12 Julio 2006, 22:47 PM
Si el spalsh cómo dice en el título es de carga en teoría no habria que usar timers, simplemente al finalizar la carga cargarse el formulario y abrir el principal, para que un timer? para que la memória caché de tu pc no sirva para nada? para acabar con la paciencia del usuario? nosé...