GARANTIR DESCONTO

Fórum Alinhamento do TEdit a Direita #238731

20/06/2004

0

Pessoal

Como faço para alinhar à direita com o objeto TEDIT ???




Rogério


Rogeranalista

Rogeranalista

Responder

Posts

20/06/2004

Cdaraujo

Caro amigo,

Logo abaixo criei um pequeno exemplo da re-implementação do componente TEdit, não vi outra forma de fazer isso, tive que implementar essa funcionalidade no componente. Se vc quiser pode utilizar da mesma forma que o código abaixo usa. Vc ainda pode transformar esse código em um componente e instalar em sua paleta para que sempre que precisar vc possa utilizar.

Espero em ter ajudado, qualquer coisa estarei a sua disposição!

Daniel Araújo

--------------------------------------------------------------------------------------

unit UntTeste;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, StdCtrls, Mask, DBCtrls, DBTables;

type
{Novo Componente}
TDBEditAlignment = class(TEdit)
private
{ Private declarations }
FAlignment: TAlignment;
procedure setAlignment(Value: TAlignment);
protected
{ Protected declarations }
public
{ Public declarations }
Constructor Create (AOwner: TComponent);override;
procedure CreateParams(var Params: TCreateParams);override;
property Alignment: TAlignment read FAlignment
write setAlignment default taRightJustify;
end;

TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
DbEditTeste:TDBEditAlignment;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

{ TDBEditAlignment }

constructor TDBEditAlignment.Create(AOwner: TComponent);
begin
inherited;
FAlignment := taRightJustify;

end;

procedure TDBEditAlignment.CreateParams(var Params: TCreateParams);
const
Alignment: array[TAlignment] of Word = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
inherited;
Params.Style := Params.Style or Alignment[FAlignment];

end;

procedure TDBEditAlignment.setAlignment(Value: TAlignment);
begin
if FAlignment <> Value then
begin
FAlignment := Value;
RecreateWnd;
end

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
{Cria o novo componente em tempo de execução
e recebe os parâmetros do controle visual}
DbEditTeste := TDBEditAlignment.Create (Self);
with DbEditTeste do
begin
Parent := Self;
Top := Edit1.Top ;
Left := Edit1.Left ;
Width := Edit1.Width ;
Height := Edit1.Height ;
end;//with


end;

end.
Pessoal Como faço para alinhar à direita com o objeto TEDIT ??? Rogério



Responder

Gostei + 0

21/06/2004

Khundalini

Em breve será publicado no site da revista ClubeDelphi uma técnica que permite configurar novas funcionalidades a um componente já existente em um formulário sem a necessidade de se criar um novo componente.

[b]Aguardem![/b]

[]s
Rubem Rocha
Manaus, AM


Responder

Gostei + 0

21/06/2004

Aroldo Zanela

Pessoal Como faço para alinhar à direita com o objeto TEDIT ??? Rogério

Colega,

A forma de menor esforço é com RxLib ou Jedi VCL.


Responder

Gostei + 0

21/06/2004

Replicante

Amigos...

O AlignEdit(Delphi7 - paleta Standard) não resolveria este problema?

Testei aqui e Ok.

Até mais.


Responder

Gostei + 0

21/06/2004

Khundalini

Companheiro, preste atenção. Esse componente não existe na paleta Standard do Delphi 7, a não ser que você tenha registrado no seu IDE um componente com esse nome. Mas o Delphi não tem com um componente TAlignEdit.

[]
Rubem Rocha
Manaus, AM


Responder

Gostei + 0

21/06/2004

Replicante

Perdão amigos, este componente realmente não faz parte da VCL do Delphi7. Mas é um ótimo componente, bem como nosso amigo necessita.


Responder

Gostei + 0

21/06/2004

Beppe

Uma solução legal é colocar um memo, e tratar o keypress para naum deixar digitar o retorno de carro, ou ainda no OnChange:

while Memo1.Lines.Count > 1 do
  Memo1.Lines.Delete(Memo1.Lines.Count - 1);



Responder

Gostei + 0

22/06/2004

Tnaires

Sei q não é a melhor solução, mas qdo precisei disso, usei um Panel com as seguintes propriedades:
Alignment: taRightJustify
BevelInner: bvLower
BevelOutter: bvLower
Color: clWindow
E ficava alterando a propriedade Capton, ao invés de Text.
Fica igualzin... :lol:


Responder

Gostei + 0

22/06/2004

Tnaires

Opa, detalhe: só precisava mostrar dados, e não editar.


Responder

Gostei + 0

28/01/2016

Marco Antônio

Se eu entendi beim, vc esta querendo alinhar o conteudo do Edit a direita?!
Caso seja basta no OnCreat do form você habilitar a propriedade:

SysLocale.MiddleEast := true;

e nos Edit's que deseja alinhar definir a propriedade 'BidiMode' = bdRightLeft.


créditos: http://www.scriptbrasil.com.br/forum/topic/155485-resolvido%C2%A0como-alinhar-um-edit-a-direita/
Responder

Gostei + 0

28/01/2016

Ruy Salles

Marco Antônio,

Não conhecia esta propriedade, testei aqui e funcionou perfeitamente.

Vlw a dica
Responder

Gostei + 0

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

Aceitar