|
Página 1 de 1
|
¿¿¿Cómo Se Puede Desplegar Un Combobox Con Su Contenido Desde Codigo???
Autor |
Mensaje |
honovan
Usuario
Registrado: Febrero 2010
Mensajes: 35
Edad: 47
|
¿¿¿Cómo Se Puede Desplegar Un Combobox Con Su Contenido Desde Codigo???
A todos un saludo...
Quiero ser breve y concreto... estoy intentando desplegar un combobox con su contenido por codigo pero no logro que aparezca, hacer click sobre su botón de contenido no funciona... a lo sumo logro que se dibuje y colocarle la propiedad box.text="mycontrol que si aparece a la vista ... no se que mas hacer ... aqui dejo lo que tengo...
Public box As ComboBox >> (esto esta en la cabecera del Fmain)
box = New ComboBox(Fmain) As "box_Click()" "box_DblClick()" >>(esta esta en el Fmain_open() del formulario)
box.x = 200
box.y = 500
box.Name = "box"
box.Text = "myControl"
box.Enabled = "True"
box.Visible = "True"
box.Add("hola", 0)
box.Add("hola", 1)
Public Sub box_Click() >> (y esto es el evento que no hace nada)
box.Add("Boolean")
box.Add("Byte")
box.Add("Date")
box.Add("Float")
box.Add("Integer")
box.Add("Long")
box.Add("Short")
box.Add("Single")
box.Add("String")
box.Add("Variant")
End
a todos ustedes muchas gracias por su orientación...
última edición por honovan el Martes, 13 Noviembre 2018, 22:36; editado 1 vez
|
#1 Martes, 13 Noviembre 2018, 22:33 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: ¿¿¿Cómo Se Puede Desplegar Un Combobox Con Su Contenido Desde Codigo???
honovan:
Citar: desplegar un combobox con su contenido
¿y que sentido tiene usar un combobox para mostrar los valores ?
¿no seria mejor usar un listbox? Este control te muestra directamente los valores....
|
#2 Miercoles, 14 Noviembre 2018, 08:13 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: ¿¿¿Cómo Se Puede Desplegar Un Combobox Con Su Contenido Desde Codigo???
Digo lo mismo que Julio. Si quieres mostrar datos, un listbox es lo suyo. La esencia del combobox es, precisamente, estar cerradito, sin ocupar sitio en la pantalla y proveer de una lista de opciones. Si esa lista la quieres visible, el combobox no es el control adecuado.
Saludos
=================== No podemos regresar
|
#3 Miercoles, 14 Noviembre 2018, 09:42 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: ¿¿¿Cómo Se Puede Desplegar Un Combobox Con Su Contenido Desde Codigo???
honovan escribió: A todos un saludo...
Hacelo así que te va a funcionar.
' gambas class file
Public box As ComboBox
Public Sub Form_Open()
Me.Arrangement = Arrange.Row
box = New ComboBox(Me) As "boxEvent" ' Aca tenias un error al declarar masl el "alias" del control
' box.x = 200
' box.y = 500
box.H = 35
box.W = 200
box.Name = "box"
box.Text = "myControl"
box.Enabled = "True" ' a menos que declares lo contrario gambas los pone por defecto enabled = True y visible = True
box.Visible = "True"
box.Add("hola", 0) ' acá no es necesario poner el parámetro de posición 0
box.Add("hola", 1) ' acá no es necesario poner el parámetro de posición 1
End
' Use el evento MouseDown, que es el que se debe usar en este caso.
Public Sub boxEvent_MouseDown()
box.Add("Boolean")
box.Add("Byte")
box.Add("Date")
box.Add("Float")
box.Add("Integer")
box.Add("Long")
box.Add("Short")
box.Add("Single")
box.Add("String")
box.Add("Variant")
End
Nota: cuando pongas código en el foro es mejor que lo hagas con las etiquetas a tal efecto para que sea mas legible y agradable.
Saludos.
|
#4 Miercoles, 14 Noviembre 2018, 09:51 |
|
|
cogier
Charlie Ogier
Aprendiz
Registrado: Septiembre 2018
Mensajes: 99
Edad: 69 Ubicación: Guernsey, Channel Islands
|
Re: ¿¿¿Cómo Se Puede Desplegar Un Combobox Con Su Contenido Desde Codigo???
O prueba esto: -
Public box As ComboBox
Public Sub Form_Open()
Dim sList As String[] = ["Hola", "Hola", "Boolean", "Byte", "Date", "Float", "Integer", "Long", "Short", "Single", "String", "Variant"]
Dim iCount As Integer
Me.Width = 320
Me.Height = 400
box = New ComboBox(Me) As "boxEvent"
For iCount = 0 To sList.Max
box.Add(sList[iCount])
Next
With box
.x = 10
.y = 10
.Width = 300
.Height = 28
.Text = box.List[0]
End With
End
Public Sub boxEvent_Click()
Me.Text = box.Text
End
|
#5 Miercoles, 14 Noviembre 2018, 17:57 |
|
|
honovan
Usuario
Registrado: Febrero 2010
Mensajes: 35
Edad: 47
|
Re: ¿¿¿Cómo Se Puede Desplegar Un Combobox Con Su Contenido Desde Codigo???
Saludos...
jsban,shordi,tincho,cogier...muchas gracias por responder , pero creo que me equivoque al decir datos, lo mejor era decir opciones y que me escriba en un textarea... y como son varios comboboxs y otros controles me hará falta espacio y hay que rentabilizar espacio...
ahora veo que se despapayan los controles ... sera cosa de la configuración del form en columna o row o fill , bueno hay ustedes me dirán???
---tincho tu código hace lo mismo que el mio..., jejejeje, nada..., jejejeje..., solo se dibuja y no despliega las opciones, es decir lo mismo que mi evento no lo lee, es un error no se de quien.
***cogie tu codigo funciona solo que con lo mencionado antes, se me despapaya... es de configurar no se que...
---es raro porque el evento de cogie si lo toma en cambio el de tincho y el mio no...
Alguien tiene idea del porque esta diferencia???
Y como se etiqueta el código para que se vea mas bonito y agradable???
A todos ustedes muchas gracias por su amabilidad y prestancia...
|
#6 Jueves, 15 Noviembre 2018, 01:26 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: ¿¿¿Cómo Se Puede Desplegar Un Combobox Con Su Contenido Desde Codigo???
Citar:
---es raro porque el evento de cogie si lo toma en cambio el de tincho y el mio no...
Alguien tiene idea del porque esta diferencia???
El tuyo no funciona porque pretendes declarar el observador de eventos como box_click(), lo cual es incorrecto.
Cuando instancias un objeto de una clase con la cláusula AS, lo que haces es crear un observador con ese nombre. Así:
Hace que a partir de ahí los eventos del objeto se referencien con ese nombre(listado en el ejemplo), y podrás declararlos, por ejemplo:
Los eventos han de ser públicos, por cierto, no vale "Private sub listado_Click()", no funcionaría.
Usar el AS es lo mismo que declarar el observer directamente:
Citar: hora veo que se despapayan los controles ... sera cosa de la configuración del form en columna o row o fill , bueno hay ustedes me dirán???
Hace tiempo subí un pequeño ejemplo del manejo de los controles autoajustables aquí:
https://foro.gambas-es.org/viewtopic.php?f=1&t=5209
Si tienes alguna duda, pregunta.
Por cierto... ¿Qué estás intentando hacer?¿Un generador de SQL?
Saludos
=================== No podemos regresar
última edición por shordi el Jueves, 15 Noviembre 2018, 07:39; editado 1 vez
|
#7 Jueves, 15 Noviembre 2018, 07:38 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: ¿¿¿Cómo Se Puede Desplegar Un Combobox Con Su Contenido Desde Codigo???
honovan escribió: ...tincho tu código hace lo mismo que el mio....
Seguro, a mi me funciona y despliega las opciones, mira:
Dejo el código fuente del ejemplo que hice para que lo compruebes si lo deseas.
Saludos.
Descripción: |
|
Descargar |
Nombre del archivo: |
ejercicio-combobox-2-0.0.1.tar.gz |
Tamaño: |
11.51 KB |
Descargado: |
38 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ejercicio-combobox-2-0.0.1.tar.gz |
Tamaño: |
11.51 KB |
Descargado: |
38 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ejercicio-combobox-2-0.0.1.tar.gz |
Tamaño: |
11.51 KB |
Descargado: |
38 veces |
|
#8 Jueves, 15 Noviembre 2018, 10:08 |
|
|
honovan
Usuario
Registrado: Febrero 2010
Mensajes: 35
Edad: 47
|
Re: ¿¿¿Cómo Se Puede Desplegar Un Combobox Con Su Contenido Desde Codigo???
Muchas gracias por la explicación..., pues shordi mi proyecto es crear un traductor pseudocode, c - c++, java a gambas por ahora, el ejercicio de crear el combo es para el editor al detectar un As despliegue en la posición del cursor el combo pero ahora creo que va a ser un list hay vere como funciona mejor... por ahora esta muy verde , es una pequeña mejora de tu ejercicio pseudo code y property jejejeje pero con todos lo juguetes, la idea es que me enliste clases,objetos,variables,eventos,propiedades de todo el proyecto y un poco mas haber hasta donde me del las energía... aqui les dejo lo que llevo.
https://drive.google.com/file/d/1me...iew?usp=sharing
El siguiente paso es meter el pseudocode con string[] y traducirlos con un función de patrón o de detección no se como y de hay a c y c++ y java... voy paso a paso nada pretencioso y realmente practicar code en gambas... quiero utilizar el control tab para crear varias vistas por ejemplo de uml y el diagrama de flujo en otra hoja eso es lo que tengo planeado como te dije poco a poco...
se puede pedir al ide de gambas listar objetos , propiedades,componentes utilizados con sus clases etc hay algun procedimiento o función que me vuelva un listado de esos detalles de mi proyecto desde mi IDE gambas por medio de código...????
tincho , jejeje gracias , no se por que cuando lo puse en mi proyecto no funciono ??? ummm, lo mirare con mas detalle....mil gracias de verdad, ha mira que al hacer varios click y seleccionar se agrega nuevamente la lista. pero gracias y una manera diferente de hacer las cosas, creo que es al utilizar Add al hacer el click.
última edición por honovan el Jueves, 15 Noviembre 2018, 16:46; editado 1 vez
|
#9 Jueves, 15 Noviembre 2018, 16:24 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: ¿¿¿Cómo Se Puede Desplegar Un Combobox Con Su Contenido Desde Codigo???
honovan escribió: ...tincho , jejeje gracias , no se por que cuando lo puse en mi proyecto no funciono ??? ummm, lo mirare con mas detalle....mil gracias de verdad, ha mira que al hacer varios click y seleccionar se agrega nuevamente la lista. pero gracias y una manera diferente de hacer las cosas, creo que es al utilizar Add al hacer el click.
Si, es verdad, para que no de vuelvan a agregar...
Public Sub boxEvent_MouseDown()
box.Clear ' Agrega esto para que limpie la lista antes de volver a agregar.
box.Add("Boolean")
box.Add("Byte")
box.Add("Date")
box.Add("Float")
box.Add("Integer")
box.Add("Long")
box.Add("Short")
box.Add("Single")
box.Add("String")
box.Add("Variant")
End
|
#10 Jueves, 15 Noviembre 2018, 20:47 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|