A simple edit control that can be displayed

zhaozj2021-02-08  219

unit REdit; interfaceuses 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 Im eName; 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; implementationprocedure 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; process; begin registercomponents; end; end. The above is just a point for beginner Delphi control makers, of course, does not enter the party. If you are inadequate, please refer to it.

转载请注明原文地址:https://www.9cbs.com/read-3084.html

New Post(0)