canvas

Delphi

10/11/2003

Como faço para reservar parte de um Form para um desenho com comandos do tipo:

with canvas do
begin
moveto (100,100);
lineto (200,100);
lineto (200,200);
lineto (100,200);
lineto (100,100);

end;

Na forma como está, não aparece nada.

Grato pela ajuda.

Afranio


Afranio

Afranio

Curtidas 0

Respostas

Leanribas

Leanribas

10/11/2003

Afranio, com esse codigo ele desenha um quadrado no form.

Não entendi direito o que vc quer vc pode exemplificar melhor!


Leandro


GOSTEI 0
Eduardo Pereira

Eduardo Pereira

10/11/2003

Não sei se é exatamente issp qie vc quer, mas vamos lá.

Para que um desenho sempre seja desenhado em um form ele tem que estar sendo desenhado no evento OnPaint. Se o desenho estiver sendo feito no OnCreate ou no OnClick de um botão, sempre que o form for redesenhado por algum motivo (resize, outra janela por cima, etc...) o desenho será apagado.

Para separar uma área do form para desenho, pode-se utiliza uma técnica chamada ´clipping´, mas é complicada e eu prefiro de outra forma. Coloco um TPanel no form que será a área de desenho e crio um outro form cujo parent é o componente TPanel. O desenho é feito neste outro form, que desta forma fica limitado ao TPanel.

[]´s
Eduardo Pereira


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

10/11/2003

tente mudar a cor : Canvas.Pen.Color := clBlue;
ou Canvas.Pen.Style := psSolid;


GOSTEI 0
POSTAR