//from Kingron 搜集的猛料继承TEdit,重载CreateParams,修改Param即可。
procedure TEdit_Ex.CreateParams(var Params: TCreateParams);
begin
  inherited;
  if self.FTextOnRight then Params.Style:=Params.Style or ES_RIGHT;
end;

解决方案 »

  1.   

    http://www.csdn.net/develop/read_article.asp?id=11766
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;type
      TForm1 = class(TForm)
        Label1: TLabel;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    type
      TMyEdit = class(TEdit)
       procedure CreateParams(var Params: TCreateParams);override;  end;
    var
      Form1: TForm1;implementation{$R *.DFM}
    procedure TMyEdit.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      if self.FTextOnRight then Params.Style:=Params.Style or ES_RIGHT;
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    var
      myedit:TMyEdit;
    begin
      myedit:=TMyEdit.Create(self);
      myedit.Parent:=self;
      myedit.Show;
    end;end.可我编译不对
      

  3.   

    procedure TMyEdit.CreateParams(var Params: TCreateParams);
    begin
      inherited;
      Params.Style := Params.Style or ES_RIGHT;
    end;
      

  4.   

    Params.Style := Params.Style or ES_RIGHT;什么意思
      

  5.   

    集合类型是pascal特有的数据类型
    [0] + [1] = [0, 1]在其它编程语言则是通过二进制的方法表示集合
    00000000 = []
    00000001 = [0]
    00000011 = [0, 1]
    10001010 = [1, 3, 7]集合加则成or
    00000011 or  10001010 = 10001011 
    [0, 1]   +  [1, 3, 7] = [0, 1, 3, 7]判断一个元素是否在集合中则用and
    00000001 and 10001011 <> 0 //结果00000001
    [0] <= [0, 1, 3, 7]
      

  6.   

    zswang(伴水)(需要充充电) :
      问你个人问题,你在哪上班,你有qq吗,以后有问题问你就方便了