![]() |
Mover una imagen con el ratón
Aunque el título (y la intención original) del truco trata de cómo mover una imagen con el ratón, al estilo de la herramienta "Hand" del Acrobat Reader, este truco es aplicable a cualquier control con barras de desplazamiento.
Como ejemplo supongamos que tenemos una imagen (TImage) dentro de un Form de tal manera que la imagen es más grande que el área del Form, por lo tanto, éste tiene barras de desplazamiento: Para conseguir esto, hay que jugar con los eventos OnMouseDown, OnMouseMove y OnMouseUp del siguiente modo: En primer lugar, necesitamos una variable global para almacenar el punto sobre el que se encuentra el cursor en cada momento.
Si p.ej. la imagen (o lo que queremos desplazar) está en un ScrollBox en lugar de directamente sobre el form, en el OnMouseMove tendremos que referirnos a las barras de desplazamiento del ScrollBox en lugar de a las del form. NOTA: Es importante el matiz de que tomamos las coordenadas absolutas del cursor en la pantalla (GetCursorPos) y no las coordenadas del evento OnMouseMove (parámetros X e Y). Si no lo hacemos así, el movimiento se produce de forma irregular y poco "suave". Haced la prueba y vereis. |
Hola DEC, como siempre, magnífico aportes.
La consulta es, ¿se pueden esconder los scrollbar? |
La franja horaria es GMT +2. Ahora son las 18:01:09. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi