// Getestet mit D4 unter XP

// Text in einem TEdit ausrichten:

// 1. Methode:
// Man nehme ein TMemo, schiebt es auf Edit-Größe und setzt
//
WantReturns := False und Alignment := taRightJustify
//
(bzw. Alignment := taCenter)

// ---------------------------------------------------

// 2. Methode:
// Klasse ableiten, CreateParams überschreiben.
// Wenn "
verkehrt" auf "true" gesetzt wird, dann erfolgt die
// Eingabe sogar von rechts nach links.
//
//
Eingabe  verkehrt  Ergebnis
//  12345     False     12345
// 
12345     True     
54321

unit Unit1; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; 
 
type 
  TForm1 = class(TForm) 
    procedure FormCreate(Sender: TObject); 
    procedure FormDestroy(Sender: TObject); 
  private 
    { Private-Deklarationen } 
  public 
    procedure REditKeyPress(Sender: TObject; var Key: Char); 
  end; 
 
var 
  Form1: TForm1; 
 
implementation 
 
{$R *.DFM} 
 
uses StdCtrls; 
 
type 
  TREdit = class(TEdit) 
  private 
    verkehrt: boolean; 
  protected 
    procedure CreateParams(var Params: TCreateParams); override; 
  end; 
 
procedure TREdit.CreateParams(var Params: TCreateParams); 
begin 
  inherited CreateParams(Params); 
  Params.Style := Params.Style or ES_RIGHT; // rechtsbündig
end; 
 
var 
  REdit: TREdit; 
 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
  REdit := TREdit.create(self); 
  REdit.parent := self; 
  REdit.left := 100; 
  REdit.top := 50; 
  REdit.OnKeypress := REditKeypress; 
  REdit.verkehrt := true; 
end; 
 
procedure TForm1.FormDestroy(Sender: TObject); 
begin 
  REdit.free; 
end; 
 
procedure TForm1.REditKeyPress(Sender: TObject; var Key: Char); 
begin 
  with TREdit(Sender) do 
    if verkehrt then begin 
      if Key <> #8 then 
        PostMessage(handle, WM_KEYDOWN, VK_LEFT, 0); 
    end; 
end; 
 
end. 


Zugriffe seit 6.9.2001 auf Delphi-Ecke