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

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 14-03-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.436
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Bueno, no es complicado, se trata de jugar con los eventos del Mouse.
Define en la parte privada un par de variables como éstas:

Código Delphi [-]
     _Painting:Boolean;  // Para marcar cuando estamos pintando
     _origen:TPoint;      // punto origen de la línea

Y en los eventos del Mouse del PintBox lo siguiente:

Código Delphi [-]
 procedure TForm1.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
 begin
 
   _Painting := True;
   _origen.X := x;
   _origen.Y := Y;
 
 end;
 
 procedure TForm1.PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
 begin
   _Painting:= False;
 
   PaintBox1.Canvas.Pen.Width := 2;
   PaintBox1.Canvas.Pen.Color := clRed;
   PaintBox1.Canvas.MoveTo(_origen.X, _origen.Y);    (*1*)
   PaintBox1.Canvas.LineTo(x,y);                (*1*)
 
 end;
 
 procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,  Y: Integer);
 begin
   // Si se debe pintar...
   if _Painting then begin
     // Borrar
     PaintBox1.Canvas.FillRect(Self.PaintBox1.ClientRect);
     // pintar
     PaintBox1.Canvas.Pen.Color := clRed;
     Canvas.Polyline([Point(_origen.X, _origen.Y), Point(x,y)]);   (*2*)
   end;
 end;

Para distinguir entre un botón y otro del mouse, verás que exixte un parámetro Button: TMouseButton que te da esa información.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 19-07-2006 a las 10:24:31.
Responder Con Cita
 


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 14:24:13.


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