GARANTIR DESCONTO

Fórum Centralizar texto no edit #315698

10/03/2006

0

Como se faz para a pessoa ja digitar algo no edit e o texto iniciar do meio para a ponta?


Kroki

Kroki

Responder

Posts

11/03/2006

Dbergkamps

espero que ajude (coletado no próprio fórum).
criar uma propriedade no edit onde você informe se é para centralizar ou não... do tipo CenterText (True/False);
depois, no OnPaint você verifica se a propriedade é true e dai desenha o texto em questão...
LeftText := Self.Width - Self.Canvas.Text.Widht(Texto) div 2;
TopText := valor;
WidthText := Self.Canvas.Text.Widht(Texto);
HeigthText := Self.Canvas.Text.Height(Texto);
Canvas.TextOut(Rect(TopText,WidthText,HeightText),Texto);
beleza ? a idéia é mais ou menos essa.. tem que ver certinho como fazer.. mas acho que é mais ou menos assim..
valeu


Responder

Gostei + 0

23/09/2006

Tekmicro

Caro colega, teria como ser mais objetivo e claro? Resumindo, teria como colocar o código para fazer este processo de centralizar textos no TEdit, porque já pesquisei por toda a Internet e não encontrei absolutamente nada sobre como fazer isto.

Se alguem realmente sabe, queira nos auxiliar.

Agradecemos! :wink:


Responder

Gostei + 0

25/09/2006

Siam

Vc pode criar uma classe que descenda de TEdit, criar o Edit desta classe e ajustar o Alignment pelo CreateParams.


Responder

Gostei + 0

25/09/2006

Tekmicro

Poderia indicar onde eu possa encontrar o código para fazer isto? Porque nunca trabalhei com componentes, digo, no sentido de fazer modificações, e tenho uma enorme urgência em resolver isto. Caso não seja possivel, entregarei o projeto da forma que está mesmo!

Agradeço pela atenção


Responder

Gostei + 0

25/09/2006

Siam

type
  TEditx = class(TEdit)
    procedure CreateParams(var Params: TCreateParams); override;
end;
procedure TEditx.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style + ES_Center;
end;
procedure TForm1.FormCreate(Sender: TObject);
var Ed:Teditx;
begin
  Ed        := TEditx.Create(Self);
  Ed.Parent := Self;
  Ed.Left   := 50;
  Ed.Top    := 30;
end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar