| 4D v18CONVERT COORDINATES | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 CONVERT COORDINATES 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CONVERT COORDINATES ( xCoord ; yCoord ; de ; para ) | ||||||||
| Parâmetro | Tipo | Descrição | ||||||
| xCoord | Variável inteiro longo |   | Coordenada horizontal de um ponto (Inicial) | |||||
|   | Coordenada horizontal de um ponto (Convertida) | |||||||
| yCoord | Variável inteiro longo |   | Coordenada vertical de um ponto (inicial) | |||||
|   | Coordenada vertical de um ponto (convertida) | |||||||
| de | Inteiro longo |   | Sistema de coordenadas que vai ser convertido | |||||
| para | Inteiro longo |   | Sistema de coordenadas para o qual vai converter | |||||
O comando CONVERT COORDINATESconverte as coordenadas (x;y) de um ponto de um sistema de coordenadas para outro. Os sistemas de coordenada de entrada e saída compatíveis são formulários e subformulários, janelas e a tela. Por exemplo, pode usar este comando para obter as coordenadas no formulário principal de um objeto que pertence a um subformulário. Isso faz com que seja fácil criar um menu contextual para qualquer posição personalizada.
Em xCoord e yCoord, passe como variávies as coordenadas (x;y) do ponto que quiser converter. Após o comando ser executado, estas variáveis conterão os valores convertidos.
No parâmetro de, passe o sistema de coordenadas inicial que o ponto de input está usando, e no parâmetro para, passe o sistema de coordenadas para o qual vai converter. Ambos parâmetros podem tomar um dos valores de constante abaixos, adicionados ao tema "Janela":
| Constante | Tipo | Valor | Comentário | 
| XY Current form | Inteiro longo | 1 | A origen é o canto superior esquerdo do formulário atual | 
| XY Current window | Inteiro longo | 2 | A origem é a esquina superior esquerda na janela atual | 
| XY Main window | Inteiro longo | 4 | Em Windows: origem é a esquina superior esquerda da janela principal; em OS X: igual que XY Screen | 
| XY Screen | Inteiro longo | 3 | A origem é o canto superior esquerdo na tela principal (igual que para o comando SCREEN COORDINATES) | 
Quando este comando for chamado a partir do método de um subformulário ou de um objeto de subformulário, e se um dos seletores for XY Current form, então as coordenadas são relativas ao próprio subformulário, e não ao seu formulário pai.
Quando convertendo de/para a posição de uma janela formulário (por exemplo quando convertendo dos resultados de GET WINDOW RECT, ou para valores passados a Open form window), XY Main window deve ser usado já que é o sistema de coordenadas usado pelos comandos de janela em Windows. Também pode ser usado para esse propósito em OS X, onde é equivalente a XY Screen.Quando de for XY Current form e o ponto estiver na seção corpo do formulário lista, o resultado depende do contexto de chamada do comando:
Se quiser abrir um menu pop-up no canto esquerdo inferior do objeto "MyObject".
  // OBJECT GET COORDINATES trabalha no formulário atual das coordenadas do sistema
  // Menu dinâmico pop up usa as coordenadas de sistema da janela atual
  // Precisa converter os 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)
Se quiser abrir uma janela pop-up na posição do cursor do mouse, em Windows, precisa converter as coordenadas desde GET MOUSE (com o parâmetro *) retorna valores baseados na posição da janela 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)
									GET WINDOW RECT
									
									OBJECT GET COORDINATES
									
									OBJECT SET COORDINATES
									
									SET WINDOW RECT
									
	Produto: 4D
	Tema: Janelas
	Número 
        1365
        
        
        
	
	Criado por: 4D v15 R3
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	Manual de linguagem 4D ( 4D v18)
	
	
	
	
	
 Adicionar um comentário
Adicionar um comentário