Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: BenRu en 27 Junio 2005, 19:19 pm



Título: Como se hacen las barras tipo "Cargando"?
Publicado por: BenRu en 27 Junio 2005, 19:19 pm
Hola, he visto multitud de programs en vb que tienen una barra de ese estilo, que son como "Cargando"...las he visto al iniciar un programa, al pusar un boton y esperar la contestacion del programa...etc.Como se hace?

Saludos


Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: programatrix en 27 Junio 2005, 19:46 pm
Se trata de los controles de microsoft common controls 6.0.
 


Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: BenRu en 27 Junio 2005, 19:58 pm
Amm...tiene el simbolillo de un icono no?
Y como va? ???


Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: LICHONGO en 27 Junio 2005, 21:08 pm
yo hago la barra de la siguiente manera:

coloco un PictureBox y dentro de el coloco 3 botones con los botones en falso en un Timer con intervalo de 100
escribo los siguientes codigos

Private Sub Timer1_Timer()
Cd1.Left = Cd1.Left + 120
Cd2.Left = Cd2.Left + 120
Cd3.Left = Cd3.Left + 120
If Cd1.Left = 2400 Then
    Cd1.Left = 0
    Cd2.Left = 120
    Cd3.Left = 240
End If
End Sub

cd1,cd2,c3, son los botones


Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: programatrix en 27 Junio 2005, 21:57 pm
También se puede hacer con imágenes pero las barras que trae el windows se controlan de otra manera. Ahora mismo no me acuerdo, de todas formas tienes el google para buscarlo.


Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: BenRu en 27 Junio 2005, 22:16 pm
yo hago la barra de la siguiente manera:

coloco un PictureBox y dentro de el coloco 3 botones con los botones en falso en un Timer con intervalo de 100
escribo los siguientes codigos

Private Sub Timer1_Timer()
Cd1.Left = Cd1.Left + 120
Cd2.Left = Cd2.Left + 120
Cd3.Left = Cd3.Left + 120
If Cd1.Left = 2400 Then
    Cd1.Left = 0
    Cd2.Left = 120
    Cd3.Left = 240
End If
End Sub

cd1,cd2,c3, son los botones

Gracias pero lo he probado y no me funciona...sabeis el porque?


Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: Ertai en 27 Junio 2005, 23:22 pm
Te refieres a un Progressbar???

Pues bien fácil...

Código:
Progressbar.Value = 0 'barra vacía
Progressbar.Value = 100 'barra llena

Es sólo un ejemplo.

Saludos,
Ertai

PD: No me copies la firma!!  >:( >:( xDD


Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: Manibal_man en 27 Junio 2005, 23:58 pm
El codigo mas simple que se me ocurre para una barra de progreso seria algo asi:


Código:
Private Sub cmdEmpezar_Click()
Timer1.Interval = 60
End Sub


Private Sub timer1_timer()
ProgressBar1.Value = ProgressBar1.Value + 1
End Sub

Tendrias que insertar un boton, una barra de progreso y el timer.

Este codigo daria error al completar, pero para el ejemplo sirve...

para solucionar el error habria que agregar alguna condicion que frene el ciclo al completar (que deberias aplicarlo a la tarea que estas esperando que termine)

Espero que te sirva, Saludos



Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: BenRu en 28 Junio 2005, 01:03 am
Te refieres a un Progressbar???

Pues bien fácil...

Código:
Progressbar.Value = 0 'barra vacía
Progressbar.Value = 100 'barra llena

Es sólo un ejemplo.

Saludos,
Ertai

PD: No me copies la firma!!  >:( >:( xDD


Gracias lo probare...

La firma me la puse cuando entre aqui en el foro...a mis 2 o 3 primeros mensajillos...estas to ciego eh  :o

jaajaja Saludos


Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: BenRu en 28 Junio 2005, 01:21 am
Es verdad...despues cuando termina de cargarse la barra da error...  :-\


Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: Ertai en 28 Junio 2005, 02:55 am
Joder, lógico.

If ProgressBar.Value = 100 (por ejemplo) timer1.enabled = false

Y la firma que la copiaste que me acuerdo que no la tenias antes, es más, me comentaste algo de que te gustaba. No me molesta, era solo coña.

Saludos.


Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: Slasher-K en 28 Junio 2005, 03:44 am
Si querés podés crear tu propio control ProgressBar de una forma muy fácil usando un PictureBox.

En un formulario poné un PictureBox con el nombre picProgress y un botón con el nombre cmdTest y pegá el siguiente código en el formulario.

Código:
Option Explicit

Private Sub IncreaseProgress(ByVal Value As Single, ByVal Max As Long)
          Dim snWidth!
         
  With picProgress
    snWidth = .Width / Max
   
    picProgress.Line (10, 10)-(snWidth * Value, .Height - 40), , BF
  End With
End Sub

Private Sub cmdTest_Click()
      Dim i%, snTime!

  For i = 1 To 100
    snTime = Timer
   
    Do While (Timer - snTime) < 0.25
      DoEvents
    Loop
   
    Call IncreaseProgress(i, 100)
  Next
End Sub

Asi se pueden personalizar los colores, fuente, etc.

Y BenRu ya deja de preguntar "cómo cómo y cómo", busca en google que hay muchos ejemplos y documentación sobre el control ProgressBar.

Saludos.


Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: Manibal_man en 28 Junio 2005, 16:21 pm
Es verdad...despues cuando termina de cargarse la barra da error...  :-\

me estas cargando??
te avise que iba a dar error al final, pero el punto era que veas como funciona... te dije que para solucionar el error uses una condicion que se ligue con la tarea que estas esperando que termine.

entendiste?, espero respuesta.

Saludos


Título: Re: Como se hacen las barras tipo "Cargando"?
Publicado por: Valefor en 2 Julio 2005, 08:11 am
Que Onda Homs
Lo primero que tienes que hacer es insertar un

[ProgressBar]
Min=1
Max=100

y un

[CommandButton]
Name=Aceptar
Caption=Aceptar

y un

[TIMER]
Inerval=100
Enabled=False

Inserta el siguiente codigo:


Private Sub Aceptar_Click()
Timer1.Enabled = True
End Sub

Private Sub Form_Load()
Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
Static x
If IsEmpty(x) Then x = 1
ProgressBar1.Value = x
        If x = ProgressBar1.Max Then
        x = ProgressBar1.Max
        MsgBox "Como ves el progress bar", vbOKOnly + vbInformation, "Que Onda"
        End
    Else
    x = x + 1
End If
End Sub


Si tienes Dudas sobre el progressbar hazmelas saber
Salu2