Centralizar texto no edit
Como se faz para a pessoa ja digitar algo no edit e o texto iniciar do meio para a ponta?
Kroki
Curtidas 0
Respostas
Dbergkamps
10/03/2006
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
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
GOSTEI 0
Tekmicro
10/03/2006
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:
Se alguem realmente sabe, queira nos auxiliar.
Agradecemos! :wink:
GOSTEI 0
Siam
10/03/2006
Vc pode criar uma classe que descenda de TEdit, criar o Edit desta classe e ajustar o Alignment pelo CreateParams.
GOSTEI 0
Tekmicro
10/03/2006
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
Agradeço pela atenção
GOSTEI 0
Siam
10/03/2006
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;
GOSTEI 0