Saludos,
Me ha surgido un problema con el control
ComboBox estándar.
Por un lado uso dos monitores, configurados para extender las pantallas, el principal y a la izquierda el secundario.
El control
ComboBox usa un
Form interno para mostrar los datos, y antes de mostrarlo calcula las coordenadas en pantalla. Para este cálculo utiliza la clase
Screens, la cual es un array con las pantallas que hay en el sistema. Selecciona la pantalla en la cual se encuentra el control y utiliza sus propiedades para obtener la posición del
Form interno del control.
La última linea de cálculo de coordenadas es esta:
Código:
If X < hScreen.AvailableX Then X = hScreen.AvailableX
El caso es que al tener dos pantallas, la principal (Screen0) y la secundaria (Screen1), en modo extendido a la izquierda, si el formulario que contiene el
ComboBox está en la principal, no funciona. He escrito un pequeño programa para ver qué propiedades tienen las pantallas y este es el resultado:
Como se ve la propiedad
AvailableX de Screen0 es 1600. Eso hace que el formulario del
ComboBox no se muestre o se muestre fuera de sitio.
Uso GTK3 y lo más curioso de todo es que he probado QT5, los valores que salen son idénticos, pero si muestra bien el formulario interno del
ComboBox.
Si alguien trabaja también con dos pantallas y le interesa, subo el programa y probamos.
Un saludo, Harpo.