Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JrRobson

Problemas com Timage

Recommended Posts

Pessoal, está acontecendo o seguinte tenho um TImage onde Desenho linhas entre os componentes dipostos(elipses) só que a cada vez que desenho em tempo de execução o Timage dá um piscada.Como faço para isso não acontecer?Obrigado........

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tá usando o delphi 7 (ou superior?)No inicio do procedimento de desenho, coloque um doublebufered:=true; e no final doublebufered:=false;se for um delphi mais antigo ou ficar muito lento, use o sistema de pesquisa do forum procurando por "backbuffer"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tá usando o delphi 7 (ou superior?)No inicio do procedimento de desenho, coloque um doublebufered:=true; e no final doublebufered:=false;se for um delphi mais antigo ou ficar muito lento, use o sistema de pesquisa do forum procurando por "backbuffer"

Tá mas quem chama essa propriedade o TImage ou o Form, tentei com os dois e dá a mensagem de erro de identificador não encontrado, preciso de chamar alguma classe .....vou adicionar o código em exemplo bem simples ....unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, AutomataControl, ExtCtrls;type TForm2 = class(TForm) ScrollBox1: TScrollBox; Image1: TImage; // componentes que criei representa um estado em forma de circulo AutomataControl1: TAutomataControl; AutomataControl2: TAutomataControl; AutomataControl3: TAutomataControl; procedure MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure desenhaTransicaoTela(EstInicio,Estfim:TautomataControl); procedure FormShow(Sender: TObject); procedure NovaTransicao; private { Private declarations } public EstInicio,EstFim:TAutomataControl; { Public declarations } end;var Form2: TForm2;implementation{$R *.dfm}procedure TForm2.MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);var AuxPos:TPOint;begin AuxPos.X:=TAutomataControl(Sender).Left + x; AuxPos.Y:=TautomataControl(Sender).Top + y; if (sender is TAutomataControl) then begin if EstInicio = nil then begin EstInicio:=TAutomataControl(Sender); EstInicio.SetFPosDentroElipse(AuxPos); end else begin EstFim := TAutomataControl(Sender); EstFim.SetFPosDentroElipse(AuxPos); DesenhaTransicaoTela(EstInicio,EstFim); NovaTransicao; end; end;end;procedure TForm2.desenhaTransicaoTela(EstInicio, Estfim:TAutomataControl);var posI,posF:TPoint;begin with Image1.Canvas do begin Pen.Width:=1; Pen.Color:=ClBackGround; posI:=EstInicio.GetFPosDentroElipse; posF:=EstFim.GetFPosDentroElipse; MoveTo(PosI.x,PosI.Y); LineTo(PosF.x,PosF.Y); end;end;procedure TForm2.FormShow(Sender: TObject);begin NovaTransicao;end;procedure TForm2.NovaTransicao;begin estInicio:=nil; EstFim:=nil;end;end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.