MarKteus 1 Denunciar post Postado Janeiro 19, 2007 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
Hugo Slepicka 0 Denunciar post Postado Janeiro 19, 2007 teria que verificar os valores que estãos endo passados Markteus... poste aki o pedaço do code que faz a ação para analisarmos!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
MarKteus 1 Denunciar post Postado Janeiro 19, 2007 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
bdexterholland 0 Denunciar post Postado Janeiro 23, 2007 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