miércoles, 23 de julio de 2014

Arrastrar / Mover un formulario sin barra de titulo, solo haciendo click sobre y moviendo el puntero

Hola a todos. He estado un poco ausente y me disculpo. Tengo algunos nuevos tips. Siempre que deseen, pueden consultarme a

sagaxton@hotmail.com

para cualquier duda.


Hoy veremos como hacer para que puedan arrastrar un formulario o moverlo de posicion haciendo click en cualquier area del mismo y mover el mouse para desplazarlo. A veces, tenemos formulario a los cuales deseamos agregar un toque de elegancia o "modernidad". Quitar el titlebar = .F. es una buena opcion... algo asi:



pero tenemos el inconveniente que no podemos arrastrarlo para ver lo que esta debajo. Para que puedas moverlo haciendo click sobre el, manteniendo presionado y desplazando el mouse, basta con agregar en el evento LOAD del formulario un codigo igual a este:

**--
DECLARE INTEGER ReleaseCapture IN WIN32API

DECLARE INTEGER SendMessage IN WIN32API INTEGER, INTEGER, INTEGER, INTEGER
**--//


Y en el evento MouseDown del formulario, un codigo igual a este:

LPARAMETERS nButton, nShift, nXCoord, nYCoord


LOCAL lnHandle

    IF nButton = 1

      ReleaseCapture()

      SendMessage(THISFORM.HWND, 0x112, 0xF012,0)

ENDIF
**--//



Y listo. Luego guardamos y ejecutamos. Hacemos click encima del form y mantenemos presionado mientras desplazamos el mouse y el form debera moverse al mismo ritmo. 

Bien.. cualquier duda o comentario para mejorar, es bienvenido. 

Un saludo y un abrazo! 
Desde Managua, capital de Nicaragua! 
Ravenn :D :D :D 


2 comentarios: