Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: jugoma 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
-
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.
-
esto es lo que estoy haciendo pero donde colocar el parent ome puedes dar un ejemplo mas simple gracias disculpa mi ignorancia
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
-
Podés ponerlo luego de la creación, es decir:
Load boton(ind)
boton(ind).Parent = Frame1
-
bueno despues de agrgar el parent igual me sale error de ejecucion uso no valido de la propiedad que hacer en esta caso Gracias
-
perdon, me equivoque, no era .Parent, era .Container, asi:
Set Command1.Container = Frame1
saludos.
-
¡Cierto! Se me pasó también. Pensando en la pregunta no tomé en cuenta ese "detalle".
Perdón.
-
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 :-\
-
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):
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.
-
Eso es lo que necesitava esta perfecto lo adapte y tiene la apariencia deceada gracias tedevo una y hay tienes un punto mas Gracias!!!
-
¡Me alegro! ;)