In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Cuál es la forma correcta de determinar la posicion en pantalla

Foro público de Xailer en español
Responder
Williams Pacheco
Mensajes: 165
Registrado: Mié Jul 08, 2009 5:26 pm

Cuál es la forma correcta de determinar la posicion en pantalla

Mensaje por Williams Pacheco »

Estimados amigos
Tengo un formulario como el ejemplo que les muestro en la imagen anexa.
Deseo conocer cual es la forma correcta de determinar las coordenadas
relativas de un control en la pantalla (en el ejemplo un TEdit), con la
intención de posicionar debajo de el otro formulario, similar a como lo
hace un Tooltip.
Anteriormente habia logrado hacerlo de la siguiente forma
hWnd := GetActiveWindow()
nLeft := oSender:oParent:nLeft + oSender:nLeft
nTop := oSender:oParent:nTop + oSender:nTop + oSender:nHeight
ClientToScreen( hWnd, @nLeft, @nTop )
WITH OBJECT GenericPicker()
:New()
:nTop := nTop
:nLeft := nLeft
:ShowModal()
xValue := :uUserChoice
END
sin embargo en este momento no me funciona.
He notado a través del debugger que el handle de la ventana activa que
me devuelve GetActiveWindow() corresponde al de la ventana principal de
la aplicacion y no a la ventana MDICHILD que es la que muestro en el
ejemplo.
Cuál es la manera correcta de hacer esto teniendo presente que trabajo
con formularios MDI
Gracias por su ayuda
Saludos cordiales
Williams Pacheco
--
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Cuál es la forma correcta de determinar la posicion en pantalla

Mensaje por jfgimenez »

Williams,
LOCAL nLeft := 0
LOCAL nTop := ::oEdit1:nHeight
::oEdit1:ClientToScreen( @nLeft, @nTop )
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Williams Pacheco
Mensajes: 165
Registrado: Mié Jul 08, 2009 5:26 pm

Cuál es la forma correcta de determinar la posicion en pantalla

Mensaje por Williams Pacheco »

> nLeft := 0
> LOCAL nTop := ::oEdit1:nHeight
>
> ::oEdit1:ClientToScreen( @nLeft, @nTop )
Excelente!
Muy agradecido Jose
Williams Pacheco
Responder