程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 一個可以靠右顯示的簡單Edit控件

一個可以靠右顯示的簡單Edit控件

編輯:Delphi

  unit REdit;
  
  interface
  
  uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls;
  
  type
    TCustomREdit = class(TCustomEdit)
    private
      { Private declarations }
      FAlignment:TAlignment;
      procedure SetAlignment(Value: TAlignment);
    protected
      { Protected declarations }
      property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;
      procedure CreateParams(var Params: TCreateParams); override;
    public
      { Public declarations }
    published
      { Published declarations }
    end;
  
    TREdit = class(TCustomREdit)
    published
      { Published declarations }
      property Alignment;
      property Anchors;
      property AutoSelect;
      property AutoSize;
      property BiDiMode;
      property BorderStyle;
      property CharCase;
      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 PassWordChar;
      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;
  
  implementation
  
  procedure TCustomREdit.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;
  
  procedure TCustomRedit.SetAlignment(Value:TAlignment);
  begin
    if FAlignment <> Value then
    begin
      FAlignment := Value;
      RecreateWnd;
    end;
  end;
  
  procedure Register;
  begin
    RegisterComponents('Samples', [TREdit]);
  end;
  
  end.

  上述只是給初學Delphi控件制作者一點參考,當然不入方家法眼。不足之處,敬請指正。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved