Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-09-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Mas o menos puedes enfocarlos así:
Código Delphi [-]
 if RealizandoDragDrop then
 if (Y > frmppal.clientHeight -10) and // si estamos en el borde inferior
 (frmppal.VertScrollBar.Position >=10) then //si la barra no está al principio

    frmppal.VertScrollBar.Position:=frmppal.VertScrollBar.Position-10;
        // movemos la barra

Quizás tengas que poner un timer para que no corra mucho la barra.

EDITO: Esto lo pones en el FrameMouseMove

Un saludo

Última edición por Lepe fecha: 27-09-2005 a las 12:53:55.
Responder Con Cita
  #2  
Antiguo 28-09-2005
roedecker roedecker is offline
Miembro
 
Registrado: may 2004
Posts: 10
Poder: 0
roedecker Va por buen camino
Thumbs up Gracias

No era exactamente eso lo que precisaba, pero ya lo he adaptado y lo he hecho funcionar. Gracias por encaminarme en la dirección correcta.
Responder Con Cita
  #3  
Antiguo 30-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por roedecker
No era exactamente eso lo que precisaba, pero ya lo he adaptado y lo he hecho funcionar. (...)
¡Pues ya podías exponer cómo lo hiciste! ¿Quién sabe si la solución le vendrá bien a alguien?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 30-09-2005
roedecker roedecker is offline
Miembro
 
Registrado: may 2004
Posts: 10
Poder: 0
roedecker Va por buen camino
Ok, ok, aquí va...

En el evento DragOver del TImage, siendo FrameMapa el TFrame:

Código Delphi [-]
//movimiento hacia la izquierda
  if (X < FrameMapa.HorzScrollBar.Position + 10) then
      FrameMapa.HorzScrollBar.Position := FrameMapa.HorzScrollBar.Position - FrameMapa.HorzScrollBar.Increment;

//movimiento hacia la derecha
  if (X > FrameMapa.clientWidth + FrameMapa.HorzScrollBar.Position - 10) then
      FrameMapa.HorzScrollBar.Position := FrameMapa.HorzScrollBar.Position + FrameMapa.HorzScrollBar.Increment;

//movimiento hacia arriba
  if (Y < FrameMapa.VertScrollBar.Position + 10) then
      FrameMapa.VertScrollBar.Position := FrameMapa.VertScrollBar.Position - FrameMapa.VertScrollBar.Increment;

//movimiento hacia abajo
  if (Y > FrameMapa.clientHeight + FrameMapa.VertScrollBar.Position - 10) then
      FrameMapa.VertScrollBar.Position := FrameMapa.VertScrollBar.Position + FrameMapa.VertScrollBar.Increment;
Los ifs dependen de la posición del correspondiente ScrollBar ya que las X e Y del TImage van cambiando según cambia la parte visible del mismo.

Lo curioso es que lo he implementado en otro formulario parecido (usan incluso los mismos TFrame y TImage), y mientras que en uno el movimiento tiene una velocidad razonable, en el otro va muy rápido.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:35:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi