{******************************************************************************}
{  设置控件左右对齐方式                                                        }
{******************************************************************************}
procedure TStyleEdit.CreateParams(var Params: TCreateParams);
const
  Alignments: array[TAlignment] of WORD = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
  inherited CreateParams(Params);  Params.Style := Params.Style or Alignments[FAlignment];
end;

解决方案 »

  1.   

    我查到有这个方法,怎么用不起来?TCustomEdit.AlignmentDetermines how the text in the edit component is aligned.property Alignment: TAlignment;DescriptionUse Alignment to indicate text alignment in the edit box. These are the possible values:Value MeaningtaLeftJustify Align text on the left side in the edit control.
    taCenter Center the text in the edit control.
    taRightJustify Align text on the right side in the edit control.
      

  2.   

    如果不会那么麻烦的东西, 可以自己在OnChange(Sender:TObject)下编程实现的。困定Edit的长度, 在Edit.text前面加空格字符。
      

  3.   

    楼上这位是不是我QQ上的DELPHI啊?亏你想的出用这个方法!
      

  4.   

    To nj_draker:
         是说我吗?不好意思,好像不是,不过如果你同意马上就可以是了。:)
      

  5.   

    alignment=right
    这个属性不管用吧?
      

  6.   

    是啊,我的QQ上一个叫DELPHI的家伙就是告诉我这个方法,还很得意。
    查D6 HELP,说有alignment=right ,但是用不起来!我上面已经把帮助全文贴出了!
    最后要骂一句:TNND,D6怎么连这种事情都会有???真不如用VC了!
      

  7.   

    vc不如d6的地方也很多,vc的程序员也老骂,“tnnd, 真不如delphi”
      

  8.   

    靠右显示是不是从右到左的显示方式啊??
     protected
        { Protected declarations }
        procedure CreateParams(var Params: TCreateParams); override;procedure Register;
     
    procedure Register;
    begin
      RegisterComponents('Sample', [TRightoLeftTEdit]);
    end;{ TRightoLeftTEdit }procedure TRightoLeftTEdit.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      Params.Style := Params.Style or ES_RIGHT;
    end;end.
      

  9.   

    楼上麻烦再详细点,这个TRightoLeftTEdit怎么放到表单上?
    应该说怎么样和表单上的EDIT结合起来!再加 50分
      

  10.   


     回复人: dancemaple(枫之舞) (  ) 信誉:111  2002-5-22 13:53:48  得分:10  
     
     
      从TEdit继承,自己写一个控件如下:
    unit RightoLeftTEdit;interfaceuses
      Windows, Messages, SysUtils, Classes, Controls, StdCtrls;type
      TRightoLeftTEdit = class(TEdit)
      private
        { Private declarations }
      protected
        { Protected declarations }
        procedure CreateParams(var Params: TCreateParams); override;
      public
        { Public declarations }
      published
        { Published declarations }
      end;procedure Register;implementationprocedure Register;
    begin
      RegisterComponents('Sample', [TRightoLeftTEdit]);
    end;{ TRightoLeftTEdit }procedure TRightoLeftTEdit.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      Params.Style := Params.Style or ES_RIGHT;
    end;end.
      
     
      

  11.   

    to nj_draker(draker):
       我想你认错你了,不过这也无防什么的。交个朋友吧。14450255,进来时先报上名。:)