¿¿¿Cómo Se Puede Desplegar Un Combobox Con Su Contenido Desde Codigo???


Subject: ¿¿¿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...

Last edited by honovan on Tuesday, 13 November 2018, 22:36; edited 1 time in total
Profile PM  
Subject: 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....

Subject: 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

Profile PM  
Subject: 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.

Profile PM  
Subject: 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

Profile PM  
Subject: 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...

Profile PM  
Subject: 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í:
private miCombo as comboboxPublic sub Form_Open()
miCombo=new combobox as "listado"
...
...

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:

Public sub listado_Click()
...
..
end
Public sub listado_Change()
...
..
end

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:
Private obs as observer
Private micombo as combobox

Public sub Form_open()

micombo=new combobox
obs=new observer(micombo) as "listado"
...
end

Public sub listado_Click()
...
...
etc.


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

Last edited by shordi on Thursday, 15 November 2018, 07:39; edited 1 time in total
Profile PM  
Subject: 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:
captura_de_pantalla_2018_11_15_10_04_56
Dejo el código fuente del ejemplo que hice para que lo compruebes si lo deseas.
Saludos.


ejercicio-combobox-2-0.0.1.tar.gz
Description:  
Download
Filename: ejercicio-combobox-2-0.0.1.tar.gz
Filesize: 11.51 KB
Downloaded: 38 Time(s)
ejercicio-combobox-2-0.0.1.tar.gz
Description:  
Download
Filename: ejercicio-combobox-2-0.0.1.tar.gz
Filesize: 11.51 KB
Downloaded: 38 Time(s)
ejercicio-combobox-2-0.0.1.tar.gz
Description:  
Download
Filename: ejercicio-combobox-2-0.0.1.tar.gz
Filesize: 11.51 KB
Downloaded: 38 Time(s)

Profile PM  
Subject: 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.

Last edited by honovan on Thursday, 15 November 2018, 16:46; edited 1 time in total
Profile PM  
Subject: 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

Profile PM  

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1584s (PHP: 0% SQL: 100%)
SQL queries: 28 - Debug Off - GZIP Enabled