4D v16.3

CONVERT COORDINATES

Inicio

 
4D v16.3
CONVERT COORDINATES

CONVERT COORDINATES 


 

CONVERT COORDINATES ( coordX ; coordY ; de ; a ) 
Parámetro Tipo   Descripción
coordX  Variable entero largo in Coordenada horizontal de un punto (inicial)
in Coordenada horizontal de un punto (convertido)
coordY  Variable entero largo in Coordenada vertical de un punto(inicial)
in Coordenada vertical de un punto (convertido)
de  Entero largo in Sistema de coordenadas de origen
Entero largo in Sistema de coordenadas a convertir el punto

El comando CONVERT COORDINATESconvierte las coordenadas (x,y) de un punto de un sistema de coordenadas a otro. Los sistemas de coordenadas de entrada y salida soportados son los formularios (y subformularios), las ventanas y la pantalla. Por ejemplo, puede utilizar este comando para obtener las coordenadas en el formulario principal de un objeto perteneciente a un subformulario. Este principio facilita la creación de menús contextuales en cualquier posición personalizada.

En coordX y coordY, pase las variables que contienen las coordenadas (x,y) del punto que desea convertir. Después de ejecutar el comando, estas variables contendrán los valores convertidos.

En el parámetro de, pase el sistema de coordenadas inicial del punto de entrada y en el parámetro a, pase el sistema de coordenadas al que se debe convertir. Ambos parámetros pueden tomar el valor de una de las siguientes constantes, añadidas al tema "Ventana":

Constante Tipo Valor Comentario
XY Current form Entero largo 1 El origen es la esquina superior izquierda del formulario actual
XY Current window Entero largo 2 El origen es la esquina superior izquierda de la ventana actual
XY Main window Entero largo 4 En Windows: origen es la esquina superior izquierda de la ventana principal; en OS X: igual que XY Screen
XY Screen Entero largo 3 El origen es la esquina superior izquierda de la pantalla principal (igual que para el comando SCREEN COORDINATES)

Cuando este comando se llama desde el método de un subformulario o un objeto de un subformulario, y si uno de los selectores es XY Current form, a continuación, las coordenadas son relativas al subformulario en sí, no a su formulario padre.

Al convertir desde/hacia la posición de una ventana de formulario (por ejemplo, una conversión desde los resultados de GET WINDOW RECT, o con los valores pasados ​​a Open form window), XY Main window debe ser utilizado, ya que es el sistema de coordenadas utilizado por los comandos de la ventana en Windows. También se puede utilizar para este propósito en OS X, donde es equivalente a XY Screen.

Cuando de es XY Current form y el punto se encuentra en la sección del cuerpo de un formulario listado, el resultado depende del contexto de llamada del comando:

  • Si el comando se llama en el evento On Display Detail, el punto resultante se encuentra en el perímetro de visualización del registro mostrado en la pantalla.
  • Si el comando se llama fuera de un evento On Display Detail pero mientras se está editando un registro, el punto resultante se encuentra en el perímetro de visualización del registro que se está editando.
  • De lo contrario, el punto resultante se encuentra en la pantalla del primer registro.

Usted quiere abrir un menú emergente situado en la esquina inferior izquierda del objeto "MyObject".

  // OBJECT GET COORDINATES trabaja en el sistema de coordenadas del formulario actual
  // El menú emergente dinámico utiliza el sistema de coordenadas de la ventana actual
  // Tenemos que convertir los valores
 C_LONGINT($left;$top;$right;$bottom)
 C_TEXT($menu)
 OBJECT GET COORDINATES(*;"MyObject";$left;$top;$right;$bottom)
 CONVERT COORDINATES($left;$bottom;XY Current form;XY Current window)
 $menu:=Create menu
 APPEND MENU ITEM($menu;"Right here")
 APPEND MENU ITEM($menu;"Right now")
 Dynamic pop up menu($menu;"";$left;$bottom)
 RELEASE MENU($menu)

Usted quiere abrir una ventana emergente en la posición del cursor del ratón. En Windows, es necesario convertir las coordenadas desde GET MOUSE (con el parámetro *) devolviendo valores basados en la posición de la ventana MDI:

 C_LONGINT($mouseX;$mouseY;$mouseButtons)
 C_LONGINT($window)
 GET MOUSE($mouseX;$mouseY;$mouseButtons)
 CONVERT COORDINATES($mouseX;$mouseY;XY Current window;XY Main window)
 $window:=Open form window("PopupWindowForm";Pop up form window;$mouseX;$mouseY)
 DIALOG("PopupWindowForm")
 CLOSE WINDOW($window)



Ver también 

GET WINDOW RECT
OBJECT GET COORDINATES
OBJECT SET COORDINATES
SET WINDOW RECT

 
PROPIEDADES 

Producto: 4D
Tema: Ventanas
Número 1365

 
HISTORIA 

Creado por: 4D v15 R3

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)