Autor Tema: Duda sobre Controles en tiempo de ejecucion  (Leído 4406 veces)

0 Usuarios y 1 Visitante están viendo este tema.

jugoma

  • Bit
  • Mensajes: 8
  • Reputación: +1/-0
    • Ver Perfil
Duda sobre Controles en tiempo de ejecucion
« en: Julio 01, 2012, 04:28:40 am »
Hola y buenas una  super duda ya que no tengo mucha experiencia , cree botones en tiempo de ejecución pero ahora necesito que esten dentro de un frame  si tengo 50 botones creados aparezcan centrados en el frame acomodados tanto vertical mente como horizontal .por favor es urgente gracias

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Duda sobre Controles en tiempo de ejecucion
« Respuesta #1 en: Julio 01, 2012, 04:34:37 am »
cuando los creas tenes que indicar en la propiedad Parent el control que queres que sea el contenedor, en tu caso seria:

boton1.Parent = Frame1

lo de acomodados, pues simplemente vas creandolos aumentandole el left y top para asi crear una especie de cuadricula con los botones, eso va a tu gusto.

no es dificil.

saludos.

jugoma

  • Bit
  • Mensajes: 8
  • Reputación: +1/-0
    • Ver Perfil
Re:Duda sobre Controles en tiempo de ejecucion
« Respuesta #2 en: Julio 01, 2012, 05:26:15 am »
esto es lo que estoy haciendo pero donde colocar el parent ome puedes dar un ejemplo mas simple gracias  disculpa mi ignorancia

Código: (vb6) [Seleccionar]
Private Sub Carga()
    Set Recordset = dbcustomer.OpenRecordset("select nombre from agentes", dbOpenDynaset)
           If Recordset.RecordCount > 0 Then
                status = True
                setenabled (True)
                Recordset.MoveLast
                Recordset.MoveFirst
                boton(0).Caption = Recordset.Fields!nom
                        If Recordset.RecordCount > 1 Then
                            Recordset.MoveNext
                            Let ind = 1
                                Do Until Recordset.EOF
                                   Load boton(ind)
                                   boton(ind).Top = boton(0).Top + (ind * boton(0).Height)
                                    boton(ind).Visible = True
                                    boton(ind).Caption = Recordset.Fields!code
                                    boton(ind).Picture = ImageList1.ListImages(1).Picture
                                    boton.MoveNext
                                    ind = ind + 1
                                Loop
                     
                             
                        End If
           End If
End Sub
« última modificación: Julio 17, 2012, 05:36:10 pm por xkiz ™ »

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Duda sobre Controles en tiempo de ejecucion
« Respuesta #3 en: Julio 01, 2012, 12:07:07 pm »
Podés ponerlo luego de la creación, es decir:
Código: [Seleccionar]
Load boton(ind)
boton(ind).Parent = Frame1

jugoma

  • Bit
  • Mensajes: 8
  • Reputación: +1/-0
    • Ver Perfil
Re:Duda sobre Controles en tiempo de ejecucion
« Respuesta #4 en: Julio 01, 2012, 03:48:43 pm »
bueno despues de agrgar el parent igual me sale error de ejecucion uso no valido de la propiedad que hacer en esta caso Gracias

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Duda sobre Controles en tiempo de ejecucion
« Respuesta #5 en: Julio 01, 2012, 05:16:56 pm »
perdon, me equivoque, no era .Parent, era .Container, asi:

Código: (vb) [Seleccionar]
Set Command1.Container = Frame1
saludos.

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Duda sobre Controles en tiempo de ejecucion
« Respuesta #6 en: Julio 01, 2012, 07:21:15 pm »
¡Cierto! Se me pasó también. Pensando en la pregunta no tomé en cuenta ese "detalle".
Perdón.

jugoma

  • Bit
  • Mensajes: 8
  • Reputación: +1/-0
    • Ver Perfil
Re:Duda sobre Controles en tiempo de ejecucion
« Respuesta #7 en: Julio 17, 2012, 03:08:46 am »
hola buenas noches yo de nuevo mi problema que creo los bonones muy bien pero yo quiero acomodarlos en filas y columnas pero el detalle que no lo hace cuando lo genero para explicarme mejor quiero que quede como un listview pero con botones dentro de un frame si alguien me puede decir como lo agradeceria inmensamente y si se puede un ejemplo mejor aun Gracias  :-\

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Duda sobre Controles en tiempo de ejecucion
« Respuesta #8 en: Julio 17, 2012, 07:40:57 am »
En algún momento hice algo parecido. Lo resolví así:
Antes del bucle de creación de los botones definí dos variables (el tipo de dato numérico hay que asignarlo de acuerdo a la cantidad de filas que vayas a utilizar, en mi caso con Byte me alcanzó): Fila y Columna. Y puse 1 como primer valor a ambas.
Luego, dentro del bucle puse lo siguiente (lo adapté a tu código):
Código: (vb) [Seleccionar]
        Load boton(ind)
        Set boton(ind).Container = frameContenedor 'Luego de crearlo lo ubico dentro de un frame.
        boton(ind).Top = (60 + boton(ind).Height) * (Fila - 1) '60 es el espacio que le di entre filas
        boton(ind).Left = (60 + boton(ind).Width) * (Columna - 1) '60 es el espacio que le di entre columnas
        Columna = Columna + 1
        If Columna = 6 Then 'En mi caso, la grilla tenía 5 columnas.
            Fila = Fila + 1
            Columna = 1
        End If
        ...
Imagino que esta manera de hacerlo no es muy ortodoxa, pero me funcionó bien. Seguramente alguien ponga alguna manera mejor de hacerlo (en cuyo caso también aprenderé a hacerlo bien). Pero si no, tal vez te sirva para lo que necesitás.
Saludos.
« última modificación: Julio 17, 2012, 05:35:35 pm por xkiz ™ »

jugoma

  • Bit
  • Mensajes: 8
  • Reputación: +1/-0
    • Ver Perfil
Re:Duda sobre Controles en tiempo de ejecucion
« Respuesta #9 en: Julio 17, 2012, 03:20:50 pm »
Eso es lo que necesitava esta perfecto lo adapte y tiene la apariencia deceada gracias tedevo una y hay tienes un punto mas Gracias!!!

Jeronimo

  • Gigabyte
  • ****
  • Mensajes: 402
  • Reputación: +33/-2
    • Ver Perfil
Re:Duda sobre Controles en tiempo de ejecucion
« Respuesta #10 en: Julio 18, 2012, 09:34:59 pm »
¡Me alegro!  ;)