Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Die Eingaberichtung ändern (https://www.delphipraxis.net/43832-die-eingaberichtung-aendern.html)

whiteshark 9. Apr 2005 11:53


Die Eingaberichtung ändern
 
Moin Leute!
Ich bin dabei einen Taschenrechner zu programmieren. Wenn ich aber ein Editfeld habe, dann schreibt er immer von links nach rechts. D.h. Ich muss mit der letzten Zahl anfangen, um eine Zahl einzugeben. Wie kann ich das ändern, dass in das Editfeld von rechts nach links geschrieben wird? Damit ich bei meinem Editfeld, wie bei einem Taschenrechner üblich, mit der ersten Zahl anfangen kann.

Sharky 9. Apr 2005 12:26

Re: Die Eingaberichtung ändern
 
Hai whiteshark,

ich verstehe das nicht so richtig. Die eingabe erfolgt in einem Edit doch von links nach rechts wie bei einem Taschenrechner. Nur das die Anzeige halt links- und nicht rechtsbündig ist.

P.S. Aber wenn Du es anderst möchtest.... schaue dir mal die Eigenschaft .BiDiMode an. ;-)

whiteshark 9. Apr 2005 12:48

Re: Die Eingaberichtung ändern
 
Stimmt! HAbe ich nicht mitbekommen!
Ich wollte eigendlich die Bündigkeit ändern. Wie kann ich es machen, das die Schrift im Editfeld nicht links sondern rechtsbündig ist?

NetMapper 9. Apr 2005 13:07

Re: Die Eingaberichtung ändern
 
Über den BiDi mode kommst du nicht weiter... das ist nur was für arabisch etc.! :roteyes:

Ein Edit-Feld besitzt keine Eigenschaften für Bündigkeit.

Probiers doch mal mit nem Memo. :coder:

WantReturns, WordWrap, WantTabs solltest du dann besser false setzen.


Über MaskEdit müsste es auch gehen, aber ich denke das Memo ist am dankbarsten...

SirThornberry 9. Apr 2005 13:12

Re: Die Eingaberichtung ändern
 
ein Edit mit alignment kannst du selbst erstellen
Delphi-Quellcode:
type
  TAlignEdit = class(TEdit)
  private
    fAlignment : TAlignment;
  public
    procedure SetAlignment(const Value: TAlignment);
    procedure CreateParams(var Params: TCreateParams);override;
  published
    property Alignment : TAlignment read fAlignment write SetAlignment;
  end;
[...]
procedure TAlignEdit.SetAlignment(const Value: TAlignment);
begin
  if Value <> fAlignment then
  begin
    fAlignment := Value;
    RecreateWnd; // erzeuge Fenster neu -> CreateParams
  end;
end;

procedure TAlignEdit.CreateParams(var Params: TCreateParams);
const
  cAlignStyles: array [TAlignment] of Cardinal = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
  inherited;
  with Params do
    Style := Style or cAlignStyles[fAlignment];//taRightJustify];
end;

Sharky 9. Apr 2005 14:20

Re: Die Eingaberichtung ändern
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von NetMapper
Über den BiDi mode kommst du nicht weiter... das ist nur was für arabisch etc.!...

Und wieder zeigt es sich das man auf die Delphi-Versionen achten muss :wall:
Im Anhang einmal die Form unter Delphi 7 und einmal unter 2005. In beiden fällen ist Edit1.BidiMODE := bdRightToLeft;

DGL-luke 9. Apr 2005 14:25

Re: Die Eingaberichtung ändern
 
bist du dir sicher, dass das im designodus auch schon rechts sein sollte?

Sharky 9. Apr 2005 14:30

Re: Die Eingaberichtung ändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von DGL-luke
bist du dir sicher, dass das im designodus auch schon rechts sein sollte?

Wenn sich das auf mein Bild für D7 bezieht -> Es ist auch zur Laufzeit linksbündig.
Bei D2k5 ist es immer rechtsbündig.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz