[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]
Hi Jon & Aimee Robertson,
> I'm trying to find a TEdit component which contains an
> alignment property. The alignment during editing isn't
> important, but the alignment of the text when the
> control does not have focus is important.
>
> I've searched every Delphi site I can find. Does any one
> know of such a component? If so, where can I find it?
OK, so I need to make my components more visible on my site, thanks for
the hint... <grin>
In the meantime, here's my TBRightEdit component (you need to write your
register procedure yourself, as this is in a separate unit for a design
time package ;-)
unit DrBobRED;
interface
uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Menus, Dialogs, StdCtrls;
Type
TBRightEdit = class(TCustomMemo)
private
{ Private declarations }
FOnMaxLength: TNotifyEvent;
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
override;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure KeyPress(var Key: Char); override;
procedure Change; override; { dynamic; }
published
{ Published declarations }
{ property AutoSelect; }
{ property AutoSize; }
property BorderStyle;
property CharCase;
property Color;
property Ctl3D;
property Cursor;
property DragCursor;
property DragMode;
property Enabled;
property Font;
property Height;
property HelpContext;
property HideSelection;
property Hint;
property Left;
property MaxLength;
property Name;
property OEMConvert;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
{ property PasswordChar; }
property PopupMenu;
property ReadOnly;
property ShowHint;
property TabOrder;
property Tag;
property Text;
property Top;
property Visible;
property Width;
property OnChange;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnMaxLength: TNotifyEvent read FOnMaxLength write
FOnMaxLength;
end;
implementation
constructor TBRightEdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Align := alNone;
Alignment := taRightJustify;
ScrollBars := ssNone;
WantReturns := False;
WantTabs := False;
WordWrap := False;
OnMaxLength := nil;
end;
procedure TBRightEdit.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
begin
if AHeight > (2 * abs(Font.Height)) then AHeight := 2 *
abs(Font.Height);
inherited SetBounds(ALeft, ATop, AWidth, AHeight);
end;
procedure TBRightEdit.KeyDown(var Key: Word; Shift: TShiftState);
{ prevent Ctrl+Enter as well }
begin
if Key in [10, 13] then Key := 0
else
inherited KeyDown(Key, Shift)
end;
procedure TBRightEdit.KeyPress(var Key: Char);
{ prevent Ctrl+Enter as well }
begin
if Key in [#10, #13] then Key := #0
else
inherited KeyPress(Key)
end;
procedure TBRightEdit.Change;
{ prevent Ctrl+Enter as well }
var MyText: String;
CrPos: integer;
begin
MyText := Text;
CrPos := Pos(#13, MyText);
if CrPos > 0 then Text := Copy(MyText, 1, CrPos-1)
else
inherited Change;
{ now check for max length... }
if (MaxLength > 0) and (Length(Text) >= MaxLength) then
if Assigned(FOnMaxLength) then FOnMaxLength(Self)
end;
end.
> Jon Robertson
Groetjes,
Bob Swart (aka Dr.Bob - www.drbob42.com)
--
drs. Robert E. (Bob) Swart, Knowledge Engineer Specialist, Bolesian
P.O. Box 799, 5702 NP HELMOND, THE NETHERLANDS. fax: +31-492-533985
E-mail: bob@bolesian.nl (work), drbob@pi.net (home) & [100434,2072]
[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]