Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   dibujar rectangulo en el canvas de un control (https://www.clubdelphi.com/foros/showthread.php?t=36581)

gulder 17-10-2006 17:52:46

dibujar rectangulo en el canvas de un control
 
hola foro como andan espero que bien mi pregunta es la siguiente este procedure lo encontre en los demos de delphi y lo que hace es pintar un rectangulo en el canvas de un image
Código:

procedure TForm1.DrawShape(TopLeft, BottomRight: TPoint; AMode: TPenMode);
begin
  with Image.Canvas do
  begin
    Pen.Mode := AMode;
    case DrawingTool of
      dtLine:
        begin
          Image.Canvas.MoveTo(TopLeft.X, TopLeft.Y);
          Image.Canvas.LineTo(BottomRight.X, BottomRight.Y);
        end;
      dtRectangle: Image.Canvas.Rectangle(TopLeft.X, TopLeft.Y,
BottomRight.X,BottomRight.Y);
          end;
  end;
end;

lo que yo quiero es utilizar este metodo para dibujar en el canvas de unos componentes que creo en tiempo de ejecusion lo unico que me interesa es saber que parametro le envio al metodo para que no solo me dibuje en el canvas del imagen sino de cualquier componente que permita dibujar en el, como un panel etc. Yo se que el metodo debo modificarlo para hacer lo que pido pero no se que parametro colocar donde hace referencia al componente grasias de antemano gulder :rolleyes:

seoane 17-10-2006 20:15:19

1 Archivos Adjunto(s)
No tengo mucha experiencia creando componentes, pero hace poco estuve trasteando un poco con componentes, turbodelphi ...:rolleyes: El caso es que cree un pequeño componente que permite seleccionar un ángulo de forma gráfica, para hacerlo utilice como base el objeto TGraphicControl que entre otras cosas nos proporciona un Canvas y un método Paint que podemos utilizar para dibujar sobre el componente. Según la ayuda de delphi es el mas indicado para controles que no van a contener otros controles o recibir pulsaciones del teclado.

Aquí te lo dejo por si te sirve de algo.


La franja horaria es GMT +2. Ahora son las 01:46:57.

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