Movendo imagem com o mouse...

31/03/2006

0

E ai amigos, Tudo bem??
Bem é seguinte:
Tem um aplicativo que manipula plantas de fabricas e industrias.
O Problema é que essas imagens são muito grandes então pensei em desenvolver uma forma de arrasta-la com o mouse para melhor visualizá-la.
Assim coloquei um Scrollbox e dentro de mesmo um Image com uma imagem bem grande.
Com o seguinte código:
CODEuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls, SkinImage, HotImage;

type
  TForm1 = class(TForm)
    ScrollBox1: TScrollBox;
    Image1: THotImage;
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
   private
    { Private declarations }
      pX , pY : Integer;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if ssLeft in Shift then
    Begin
      pX := X;
      pY := Y;
    End;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
dX , dY : Integer;
begin
  if ssLeft in Shift then
    Begin
      dX := px - X;
      dY := py - Y;
      if X <> pX then
        ScrollBox1.HorzScrollBar.Position := ScrollBox1.HorzScrollBar.Position + dX;
      if Y <> pY then
        ScrollBox1.VertScrollBar.Position := ScrollBox1.VertScrollBar.Position + dY;
      pX := X;
      pY := Y;
    End;

end;

end.


Porém ao arrastar a imagem ela fica trepidando, alguma dica??


Caezar

Caezar

Responder

Posts

16/05/2012

Eniorm

Opa...
ressuscitei esse tópico, testei esse código e funciona legal, só com o problema já relatado de trepidar, porém quando pára a movimentação com o mouse, não distorce a imagem.

abraço
Responder

16/05/2012

Joel Rodrigues

Teste alterar a propriedade DoubleBuffered do form para true. Não lembro quais outros componentes containers possuem essa propriedade, veja se os panels e scrollboxes tem também.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar