Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
MESTRE-ANDREI

Como Arrastar Uma Figura Com O Mouse? /delphi

Recommended Posts

Oi.

Preciso fazer um form que depois de pronto tenha algumas figuras, e que possa clicar com o mouse em cima delas e arrastar para outra parte do mesmo form.

Como posso fazer isto com no Delphi?

Desde já agradeço pela ajuda de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou postar duas maneiras de fazer:

Modo 1

Vá em events do Form, e em OnDragDrop digite:

(Source as TControl).Left := X;
(Source as TControl).Top := Y;

Vá em events do Form, e em OnDragOver digite:

Accept := True;

Na propriedade DragMode do Image mude para dmAutomatic.

O cursor pode ser alterado na propriedade DragCursor.

Modo 2

Na secão Public da sua unit digite isso:

private
{ Private declarations }
public
MouseDownSpot : TPoint;
Capturing : bool;
end;

No evendo OnMouseDown do Image digite:

Capturing := true;
MouseDownSpot.X := x;
MouseDownSpot.Y := Y;

No evendo OnMouseMove do Image digite:

if Capturing then begin
image1.Left:= image1.Left-(MouseDownSpot.x-x);
image1.Top:= image1.Top - (MouseDownSpot.x-y);
end;

No evento OnMouseUp do Image digite:

if Capturing then begin
ReleaseCapture;
Capturing := false;
image1.Left := image1.Left - (MouseDownSpot.x -x);
image1.Top := image1.Top - (MouseDownSpot.y - y);
end;

Modo 1 - Fonte: Internet

Modo 2 - Fonte: DTDelphi 800 dicas

Espero ter ajudado

[]'s eddye :aranha:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×