Visual Basic - Evitar desplegar lista de ComboBox

Life is soft - evento anual de software empresarial
 
Vista:

Evitar desplegar lista de ComboBox

Publicado por Consultador (12 intervenciones) el 06/07/2006 18:34:04
Muy buenas.

Lo que yo necesito es, mediante API si es necesario, que al pulsar sobre el boton de un control ComboBox no aparezca la lista desplegable.

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Evitar desplegar lista de ComboBox

Publicado por machocabrio (25 intervenciones) el 06/07/2006 22:21:27
¿entonces para qué quieres el ComboBox? cada cosa tiene su utiidad, no puedes utilizar un colador para sacar agua de un pozo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Evitar desplegar lista de ComboBox

Publicado por Consultador (12 intervenciones) el 10/07/2006 12:24:47
Para esa contestacion mejor no pierdas el tiempo.

Y lo necesito para que aparezca un formulario en lugar de la lista desplegable. Y como puedes ver, a veces se utilizan controles para cosas diferentes de para lo que se crearon en un principio.

Si alguien puede ayudarme, se lo agradezco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Explicaré para que lo quiero

Publicado por Consultador (12 intervenciones) el 10/07/2006 12:28:58
Me explicare.

Yo necesito poner una fecha seleccionada a partir de un calendario que está en otro formulario en el combobox, y para ello, necesito que al pulsar en el boton del combobox, se abra ese formulario en lugar de desplegar la lista. Y no quiero hacerlo con un textbox y un commandbutton.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Explicaré para que lo quiero

Publicado por Javi RM (187 intervenciones) el 10/07/2006 12:56:42
Si he entendido bién, lo que quieres es simular que del desplegable aparece un formualario. Bueno para esto debemos utilizar la Api de Windows. Fijate:

Para probarlo crea un proyecto con dos formulario (Form1 y Form2).
En el form 1 coloca un ComboBox.

En el formulario1 pon lo siguiente:

'Llamada a la API:
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

' Evento DropDown del combo
Private Sub Combo1_DropDown()

' Asignación de las propiedades de posicionamiento y altura del nuevo formulario
Form2.Left = Me.Combo1.Left
Form2.Top = Me.Combo1.Top + Me.Combo1.Height
Form2.Width = Me.Combo1.Width
' Establecemos que form2 se mostrará dentro del Form1
SetParent Form2.hWnd, Me.hWnd
' Mostramos el form1
Form2.Show
End Sub

Con esto no consigues que no se despliegue el combo pero si conseguimos el efecto deseado.

Para que sea más realista terecomiento que el formulario que se muestre (en este caso Form2), le asignes las siguientes propiedades:

Moveable = false
BorderStyle = 4-Fixed ToolWindow

Un saludo y espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No es exactamente eso pero...

Publicado por Consultador (12 intervenciones) el 10/07/2006 18:22:06
En primer lugar quiero darte las gracias por contestar.

No es exactamente eso lo que quiero aunque lo del form2 dentro del form1 me ha gustado y lo mas probable es que lo utilice en lugar de lo que tenia pensado. Pero el problema es que, como tu bien dices, la lista se sigue desplegando y, para ser sincero, eso no queda muy profesional.

Gracias de nuevo, y si tienes alguna idea, pues te lo volvere a agradecer, :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Encontrada una solucion y me gustaria...

Publicado por Consultador (12 intervenciones) el 10/07/2006 18:34:45
Hola.

Tengo la solucion.
La propiedad "IntegralHeight" del combobox segun la ayuda dice esto:

"Devuelve o establece un valor que indica si el control muestra elementos parciales".

Los valores para esta propiedad son:

True (Predeterminado) Se ajusta el tamaño de la lista para mostrar sólo elementos completos.
False No se ajusta el tamaño de la lista si el elemento es demasiado alto para mostrarse en su totalidad.


Parece que al establecer la propiedad a False y no tener ningun elemento en la lista, ésta se despliega con una altura de tamaño cero, de modo puede parecer que no se despliega. Aunque me gustaria que lo probaseis y ver si realmente funciona o es algun tipo de error mio.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar