Ejemplos usando el Api de windows para Visual basic

145 - Apis ScreenToClient y ClientToScreen

Volver al Listado Api - Anterior - Siguiente



 

 

 

Contenido

 

 

 

 

 


ScreenToClient

Esta función lo que hace es convertir una coordenada x y , es decir un punto especifico de la pantalla para que sea relativa a la ventana o control ( debe poseer propiedad hwnd)

Por ejemplo, si capturamos la coordenada x e y del puntero del mouse en la pantalla con el api GetCursorPos y colocamos el puntero en la esquina superior izquierda del formulario, el valor x e y retornado por la funcion GetCursorPos será el valor del punto en la pantalla.

En cambio si ejecutamos el Api ScreenToClient pasandole el Hwnd del form, y en el segundo parámetro los valores x e y, ahora estos valores son Relativos al formulario

Este ejemplo muestra lo anterior, pero en ves de usar una ventana o formulario, se le pasa un picturebox

Controles

 

vista del ejemplo con el control  picturebox y el valor de las coordenadas

 

Código fuente en el formulario

 


ClientToScreen

Este otro código realizado por José Sanchez , utiliza la función inversa contraria a screenToClient , la función es ClientToScreen , y permite convertir las coordenadas de la ventana cliente de la posición que se le indique , a coordenadas de pantalla . La posición al igual que en el caso anterior se indica con una estructurra pointapi , que contiene el valor x y el valor y

El siguiente ejemplo usa ClientToScreen junto con el api getclientRect, para obtener la posición y dimensión de una ventana ( left, top , width y height ) en la pantalla . Los valores expresados son en pixeles

Nota. las dimensiones en este caso , corresponden a las del área cliente de la ventana, es decir sin contar el borde ( para los controles ). Y en el caso de los formularios o ventanas, sin contar la barra de título. Para poder obtener las dimensiones contando el borde de la ventana, se puede utilizar la función GetWindowRect en ves de GetclientRect

Colocar un timer, e indicar el hwnd de la ventana que se queire obtener los datos

 


Ejemplos relacionados

 



Buscar en Recursos vb