Ir para conteúdo

POWERED BY:

Arquivado

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

MarKteus

Criando um Edit clicando e arrastando o ponteiro mouse

Recommended Posts

Olá !!

 

Seguinte turma, to criando um desenho sobre o Form usando Canvas.

 

Clico com o mouse, arrasto e um retângulo vai se formando, ao soltar o mouse gostaria q, utilizando as mesmas coordenadas X,Y do canvas, fosse criado uma caixa de texto no tamanho do retângulo, porém a caixa de texto fica com o dobro de tamanho :blink:

 

Alguém sabe o pq disto ?

 

O q estou fazendo é só colocar os valores de X e Y dentro das propriedades Height e Width da caixa de texto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue abaixo os códigos

 

procedure TFrmPalco.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

var

---numerodoretangulo :integer;

 

begin

--- if (FrmFerra.CriarRetangulo = true) then

--- begin

------ CriaBox();

------ if (criado=true) then

------ begin

--------- nPosIniX:=X;nPosIniY:=Y;isDown:=true;

--------- numerodoretangulo:=numerodoretangulo+1;

--------- IniPosMouX[2]:=X;IniPosMouY[2]:=Y;

--------- with StatusBar1.Panels do

------------ begin

--------------- Items[0].Text:='Pos. Inicial - X -> '+inttostr(nPosIniX);

--------------- Items[1].Text:='Pos. Inicial - Y -> '+inttostr(nPosIniY);

------------ end;

------------ end;

--------- end;

end;

 

 

procedure TFrmPalco.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

var

--- PosMouse:boolean;

 

begin

------ IniPosMouX[1]:=X;IniPosMouY[1]:=Y; //Igualando valores da posic. do mouse sobre o form com a posic. do ponteiro do mouse

------ Label1.Caption:=inttostr(IniPosMouX[2])+' - '+inttostr(IniPosMouY[2])+' '+inttostr(IniPosMouX[1])+' '+inttostr(IniPosMouY[1]);

------ if (isDown=true) then

------- begin

--------- Canvas.Pen.Width:=1;

--------- Canvas.Rectangle(IniPosMouX[2],IniPosMouY[2],IniPosMouX[1],IniPosMouY[1]);

------- end;

end;

 

 

procedure TFrmPalco.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

var

--- CxTexto:TEdit;

 

begin

--- CxTexto:=TEdit.Create(Self);

--- with CxTexto do

--- begin

------ parent:=FrmPalco;

------ color:=clblue;

------ top :=IniPosMouY[2];

------ left:=IniPosMouX[2];

------ Height:=IniPosMouY[1];

------ Width :=IniPosMouX[1];

---- end;

---- isDown:=false;criado:=false; FrmFerra.CriarRetangulo:=false;

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe, mas pra que serve essas variáveis?

 

no mouseup deixe assim

procedure TFrmPalco.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);var  CxTexto:TEdit;begin  CxTexto:=TEdit.Create(Self);  with CxTexto do	begin	  parent:=FrmPalco;	  color:=clblue;	  top :=IniPosMouY[2];	  left:=IniPosMouX[2];	  Height:=IniPosMouY[2]-IniPosMouY[1];	  Width :=IniPosMouX[2]-IniPosMouX[1];	end;  isDown:=false;  criado:=false;  FrmFerra.CriarRetangulo:=false;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.