Abrir Formulario Secundario En Posición Concreta [Solucionado]


Ir a la página 1, 2  Siguiente

Objetivo: 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
captura_de_pantalla_2016_11_02_18_25_17
Saludos.

última edición por tincho el Jueves, 03 Noviembre 2016, 21:03; editado 3 veces
Perfil MP  
Objetivo: 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.


VentanaEnBoton-0.0.1.tar.gz
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: 42 veces
VentanaEnBoton-0.0.1.tar.gz
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: 42 veces
VentanaEnBoton-0.0.1.tar.gz
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: 42 veces

Objetivo: Re: Abrir Un Formulario Secundario En Una Posición Concreta
jsbsan escribió: [Ver mensaje]
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.

Perfil MP  
Objetivo: 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

Objetivo: Re: Abrir Un Formulario Secundario En Una Posición Concreta
Shell escribió: [Ver mensaje]
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.

Perfil MP  
Objetivo: 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.

Perfil MP  
Objetivo: Re: Abrir Formulario Secundario En Posición Concreta [Solucionado]
Shordi:

Citar:
habre

pa matate!!!!

Objetivo: Re: Abrir Formulario Secundario En Posición Concreta [Solucionado]
jsbsan escribió: [Ver mensaje]
Shordi:

Citar:
habre

pa matate!!!!


1504a7d0-f076-11e2-9679-7054d21a8f10

No lo voy a corregir. Quede ahí como muestra de los peligros del mecanografiado raudo.

Perfil MP  
Objetivo: 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:
' gambas class file

Public xx As Integer
Public yy As Integer



Public Sub Form_Open()



End


Public Sub form_Show()

Me.x = xx
Me.y = yy

End



Os dejo un código de ejemplo


VentanaEnBoton-0.0.2.tar.gz
Descripción: Ahora funciona con .show() y .showmodal() 
Descargar
Nombre del archivo: VentanaEnBoton-0.0.2.tar.gz
Tamaño: 11.46 KB
Descargado: 35 veces
VentanaEnBoton-0.0.2.tar.gz
Descripción: Ahora funciona con .show() y .showmodal() 
Descargar
Nombre del archivo: VentanaEnBoton-0.0.2.tar.gz
Tamaño: 11.46 KB
Descargado: 35 veces
VentanaEnBoton-0.0.2.tar.gz
Descripción: Ahora funciona con .show() y .showmodal() 
Descargar
Nombre del archivo: VentanaEnBoton-0.0.2.tar.gz
Tamaño: 11.46 KB
Descargado: 35 veces

Objetivo: 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
Private xx As Integer
Private yy As Integer



Public Sub _new(lax As Integer, lay As Integer)

xx = lax + 300
yy = lay

End


Public Sub form_Show()

Me.x = xx
Me.y = yy

End

Perfil MP  
Ir a la página 1, 2  Siguiente

Página 1 de 2


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4198s (PHP: -71% SQL: 171%)
Consultas SQL: 48 - Debug off - GZIP Activado