Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-07-2007
wpendry wpendry is offline
Registrado
 
Registrado: jul 2007
Posts: 2
Poder: 0
wpendry Va por buen camino
Wink Desplazar Grafico en un ScrollBox

Hola amigos,
Estoy haciendo un programa de graficos grandes en Delphi 6, donde tengo un ScrollBox y dentro un PaintBox
Asimismo inicializo con

ScrollBox1.HorzScrollBar.Range := 10000;
ScrollBox1.VertScrollBar.Range := 10000;
PaintBox1.Align := alClient;

Por otra parte he hecho el procedimiento:

procedure TForm1.MoverXY(x, y: integer);
//Ubica el punto x, y en la posición del Mouse
var
p: TPoint;
begin
GetCursorPos(p);
p:= ScrollBox1.ScreenToClient(p);
ScrollBox1.HorzScrollBar.Position := x - p.X;
ScrollBox1.VertScrollBar.Position := y - p.Y;
end;

Este procedimiento lo utilizo para mover el grafico con el mouse,
trabaja muy bien, pero tiene un defecto que grafica dos veces, primero desplaza horizontalmente el grafico y luego verticalmente, lo cual ocasiona en maquinas lentas un efecto de salto.

La pregunta es ¿Existe alguna instruccion para que ambas barras se muevan al mismo tiempo?
Gracias por sus comentarios...
Responder Con Cita
  #2  
Antiguo 20-07-2007
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por wpendry
La pregunta es ¿Existe alguna instruccion para que ambas barras se muevan al mismo tiempo?
Antes de buscar una instrucción similar, yo probaría "lockear" el refresco de la imagen durante el procedimiento de scroll, utilizando la función LockWindowUpdate.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 20-07-2007
wpendry wpendry is offline
Registrado
 
Registrado: jul 2007
Posts: 2
Poder: 0
wpendry Va por buen camino
Desplazamiento Corregido

He corregido el procedimiento a:

procedure TForm1.MoverXY(x, y: integer);
//Ubica el punto (x, y) del grafico en la posición del Mouse
var
p: TPoint;
begin
GetCursorPos(p);
p:= ScrollBox1.ScreenToClient(p);
LockWindowUpdate(ScrollBox1.Handle);
ScrollBox1.HorzScrollBar.Position := x - p.X;
ScrollBox1.VertScrollBar.Position := y - p.Y;
LockWindowUpdate(0);
end;

Ahora ya funciona perfectamente,
Gracias
Saludos!!
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Desplazar ScrollBar de TDBGrid eureka Conexión con bases de datos 8 20-09-2005 19:54:32
Desplazar DBgrid hacia la derecha amadis OOP 0 22-08-2005 14:39:34
comparacion con tablas y desplazar cursor combobox ercrizeporta Conexión con bases de datos 3 27-06-2005 02:33:39
ScrollBox altp Varios 0 16-09-2004 11:55:48
Como ajustar y/o desplazar texto judoboy Impresión 3 21-07-2003 20:08:50


La franja horaria es GMT +2. Ahora son las 06:39:35.


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