Autor |
Mensaje |
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Abrir Formulario Secundario En Posición Concreta [Solucionado]
Hola, pues eso tengo un formulario con un botón en la barra del menú y cuando le doy clic llamo a otro formulario, pero este "segundo" formulario se abre en el "centro de gravedad" del formulario anterior.
¿Como se hace para que el formulario secundario se abra exactamente sobre el botón presionado?
Estoy tratando de implementar algo parecido al control de volumen de Quod Libet
Saludos.
última edición por tincho el Jueves, 03 Noviembre 2016, 21:03; editado 3 veces
|
#1 Miercoles, 02 Noviembre 2016, 18:23 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Abrir Un Formulario Secundario En Una Posición Concreta
Tincho:
Tienes que asignarles la coordenada X y coordenada X que te interese.
En principio las de tu formulario principal más la del boton.
Algo asi como:
Public Sub Button1_Click()
Dim ftmp As New Form1
ftmp.x = Me.x + Button1.X
ftmp.y = Me.y + Button1.y + Button1.h
ftmp.Show()
End
Tambien tienes que tener en cuenta, el borde que tenga el formulario al que llamas (si es que lo tiene)
Te paso el ejemplo que te he hecho.
Descripción: |
Muestra un segundo formulario, en las coordenadas del botón que lo abre. |
Descargar |
Nombre del archivo: |
VentanaEnBoton-0.0.1.tar.gz |
Tamaño: |
11.2 KB |
Descargado: |
39 veces |
Descripción: |
Muestra un segundo formulario, en las coordenadas del botón que lo abre. |
Descargar |
Nombre del archivo: |
VentanaEnBoton-0.0.1.tar.gz |
Tamaño: |
11.2 KB |
Descargado: |
39 veces |
Descripción: |
Muestra un segundo formulario, en las coordenadas del botón que lo abre. |
Descargar |
Nombre del archivo: |
VentanaEnBoton-0.0.1.tar.gz |
Tamaño: |
11.2 KB |
Descargado: |
39 veces |
|
#2 Miercoles, 02 Noviembre 2016, 20:19 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Abrir Un Formulario Secundario En Una Posición Concreta
Tienes que asignarles la coordenada X y coordenada X que te interese.
En principio las de tu formulario principal más la del boton...
Gracias Julio, descargue el ejemplo y me fue de ayuda.
Me he dado cuenta que con show funciona pero con showmodal no, lo de las "coordenadas".
Saludos.
|
#3 Miercoles, 02 Noviembre 2016, 22:35 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Abrir Un Formulario Secundario En Una Posición Concreta
Tincho:
Citar:
Me he dado cuenta que con show funciona pero con showmodal no, lo de las "coordenadas".
Debería funcionar con showmodal. Nunca lo he probado. Que raro.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#4 Jueves, 03 Noviembre 2016, 14:43 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Abrir Un Formulario Secundario En Una Posición Concreta
Tincho:
Citar:
Me he dado cuenta que con show funciona pero con showmodal no, lo de las "coordenadas".
Debería funcionar con showmodal. Nunca lo he probado. Que raro.
Saludos
No. Showmodal siempre habre el form en el centro de la pantalla.
=================== No podemos regresar
|
#5 Jueves, 03 Noviembre 2016, 17:49 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Abrir Un Formulario Secundario En Una Posición Concreta [SOLUCIONADO]
Ok, me lo imaginaba.
De todas maneras con la ayuda de Julio logre hacer lo que deseaba para los controles de volumen y avance de canciones en Vinilo.
En breve subiré la nueva versión con esas funcionalidades.
Saludos.
|
#6 Jueves, 03 Noviembre 2016, 21:02 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Abrir Formulario Secundario En Posición Concreta [Solucionado]
Shordi:
Citar: habre
pa matate!!!!
|
#7 Viernes, 04 Noviembre 2016, 08:05 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Abrir Formulario Secundario En Posición Concreta [Solucionado]
=================== No podemos regresar
|
#8 Viernes, 04 Noviembre 2016, 09:20 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Abrir Formulario Secundario En Posición Concreta [Solucionado]
He encontrado una forma, para que también funcione con showmodal, creando dos variables publicas en el formulario que queremos mostrar, y modificando su método show()
Os dejo el codigo:
Formulario Principal:
' gambas class file
Public Sub Button1_Click()
Dim ftmp As New Form1
ftmp.xx = Me.x + Button1.X
ftmp.yy = Me.y + Button1.y + Button1.h
ftmp.Show()
End
Public Sub Button2_Click()
Dim ftmp As New Form1
ftmp.xx = Me.x + Button2.X
ftmp.yy = Me.y + Button2.y + Button2.h
ftmp.ShowModal()
End
Formulario secundario:
Os dejo un código de ejemplo
Descripción: |
Ahora funciona con .show() y .showmodal() |
Descargar |
Nombre del archivo: |
VentanaEnBoton-0.0.2.tar.gz |
Tamaño: |
11.46 KB |
Descargado: |
31 veces |
Descripción: |
Ahora funciona con .show() y .showmodal() |
Descargar |
Nombre del archivo: |
VentanaEnBoton-0.0.2.tar.gz |
Tamaño: |
11.46 KB |
Descargado: |
31 veces |
Descripción: |
Ahora funciona con .show() y .showmodal() |
Descargar |
Nombre del archivo: |
VentanaEnBoton-0.0.2.tar.gz |
Tamaño: |
11.46 KB |
Descargado: |
31 veces |
|
#9 Viernes, 04 Noviembre 2016, 19:22 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Abrir Formulario Secundario En Posición Concreta [Solucionado]
Vale, pero eso no es abrirlo en el lugar que quieras... es "mostrarlo" en el lugar que quieras..
Un poco más "elegante"
'en el principal
Public Sub Button2_Click()
Dim ftmp As New Form1(Me.x + Button2.X, Me.y + Button2.y + Button2.h)
ftmp.ShowModal()
End
En el secundario
=================== No podemos regresar
|
#10 Viernes, 04 Noviembre 2016, 20:29 |
|
|
|