如题。

解决方案 »

  1.   

    用我写的组件就可以了
    unit EditEx;// TEditEx --- LYSoft by Liu Yang 2002.12.5
    // support Alignment propertyinterfaceuses Messages, Windows, SysUtils, Classes, Controls, Forms, StdCtrls;type
      TEditEx = class(TCustomEdit)
      private
        { Private declarations }
        FAlignment: TAlignment;
      protected
        { Protected declarations }
        procedure CreateParams(var Params: TCreateParams); override;
        procedure Loaded; override;
        procedure SetAlignment(Value: TAlignment);
      public
        { Public declarations }
        constructor Create(AOwner: TComponent); override;
        destructor Destroy; override;
        function GetControlsAlignment: TAlignment; override;
      published
        { Published declarations }
        property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;
        property Align;
        property Anchors;
        property BevelEdges;
        property BevelInner;
        property BevelKind default bkNone;
        property BevelOuter;
        property BiDiMode;
        property BorderStyle;
        property Color;
        property Constraints;
        property Ctl3D;
        property DragCursor;
        property DragKind;
        property DragMode;
        property Enabled;
        property Font;
        property HideSelection;
        property ImeMode;
        property ImeName;
        property MaxLength;
        property OEMConvert;
        property ParentBiDiMode;
        property ParentColor;
        property ParentCtl3D;
        property ParentFont;
        property ParentShowHint;
        property PopupMenu;
        property ReadOnly;
        property ShowHint;
        property TabOrder;
        property TabStop;
        property Text;
        property Visible;
        property OnChange;
        property OnClick;
        property OnContextPopup;
        property OnDblClick;
        property OnDragDrop;
        property OnDragOver;
        property OnEndDock;
        property OnEndDrag;
        property OnEnter;
        property OnExit;
        property OnKeyDown;
        property OnKeyPress;
        property OnKeyUp;
        property OnMouseDown;
        property OnMouseMove;
        property OnMouseUp;
        property OnStartDock;
        property OnStartDrag;
      end;procedure Register;implementationprocedure Register;
    begin
      RegisterComponents('Custom', [TEditEx]);
    end;constructor TEditEx.Create(AOwner: TComponent);
    begin
      inherited Create(AOwner);
      ParentBackground := False;
    end;procedure TEditEx.CreateParams(var Params: TCreateParams);
    const
      Alignments: array[Boolean, TAlignment] of DWORD =
        ((ES_LEFT, ES_RIGHT, ES_CENTER),(ES_RIGHT, ES_LEFT, ES_CENTER));
    begin
      inherited CreateParams(Params);
      with Params do
      begin
        Style := Style or
          Alignments[UseRightToLeftAlignment, FAlignment];
      end;
    end;destructor TEditEx.Destroy();
    begin
      inherited Destroy();
    end;function TEditEx.GetControlsAlignment: TAlignment;
    begin
      Result := FAlignment;
    end;procedure TEditEx.Loaded;
    begin
      inherited Loaded;
      Modified := False;
    end;procedure TEditEx.SetAlignment(Value:TAlignment);
    begin
      if FAlignment <> Value then
      begin
        FAlignment := Value;
        RecreateWnd;
      end;
    end;end.