Ver Mensaje Individual
  #1  
Antiguo 02-02-2021
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 11
aguml Va por buen camino
Obtener coordenadas relativas de la ventana por posicion

Buenas, el titulo no creo que sea todo lo correcto.
Lo que tengo es una pequeña aplicación con la que obtengo las coordenadas de un boton dentro de una ventana, o sea, me voy desplazando por la ventana y voy viendo las coordenadas desde el lado derecho y superior de la ventana pero cuando me coloco encima de cualquier componente las coordenadas pasan a ser relativas a ese componente, o sea, toma como inicio la esquina superior izquierda del componente.
Eso esta bien pero quiero que no tome las coordenadas del boton, sino que me muestre solo las de la ventana aunque esté encima de un boton o lo que sea, solo de la ventana principal del proceso en el que esté el cursor. No se si me explico bien.
Ahora mismo tengo esto:
Código PHP:
void __fastcall TForm1::TimerTimer(TObject *Sender)
{
   
//Detengo el timer mientras se realizan las operaciones
   
Timer->Enabled false;

   
//Compruebo si tengo pulsada alguna de las dos teclas Ctrl
   //Si es así entro
   
if(CtrlDown() == true){
      
char nameClass[MAX_CLASS_NAME];
      
char nameWnd[512];
      
HWND hWnd;
      
int retval;
      
tagPOINT coordenadas;

      
//Obtengo la posicion del puntero
      
GetCursorPos(&coordenadas);

      
//Obtengo el hwnd de la ventana o componente sobre el que estoy situado
      
hWnd WindowFromPoint(coordenadas);

      
//Obtengo las coordenadas relativas a la ventana
      
RECT rect;
      
GetWindowRect(hWnd,&rect);
      
coordenadasRelativas.x=coordenadas.rect.left;
      
coordenadasRelativas.y=coordenadas.rect.top;
      
LabelCoorRelX->Caption coordenadasRelativas.x;
      
LabelCoorRelY->Caption coordenadasRelativas.y;
   }
   
Timer->Enabled true;

Responder Con Cita