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? :confused: Gracias por sus comentarios... |
Cita:
Saludos! |
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!! |
La franja horaria es GMT +2. Ahora son las 05:33:59. |
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