PDA

Ver la Versión Completa : dibujar rectangulo en el canvas de un control


gulder
17-10-2006, 16:52:46
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

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, 19:15:19
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.