AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Text im TEdit rechtsbündig

Ein Thema von oki · begonnen am 23. Sep 2007 · letzter Beitrag vom 25. Sep 2007
Antwort Antwort
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#1

Text im TEdit rechtsbündig

  Alt 23. Sep 2007, 18:43
Hi Leute,

kann mir jemand einen Tipp geben wie ich in einem TEdit den Text rechtsbündig bekomme?

Gruß oki
42
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Text im TEdit rechtsbündig

  Alt 23. Sep 2007, 18:48
BiDiMode auf bdRightToLeft stellen.
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#3

Re: Text im TEdit rechtsbündig

  Alt 23. Sep 2007, 18:54
Ich habe da mal eine Kompo für geschrieben.
Delphi-Quellcode:
unit AlignEdit;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TAlignEdit = class(TEdit)
  private
    { Private-Deklarationen }
    FAlignment: TAlignment;
  protected
    { Protected-Deklarationen }
    procedure SetAlignment(Value: TAlignment);
    procedure CreateParams(var Params: TCreateParams); override;
  public
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
    property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;
  end;

procedure Register;

implementation

procedure TAlignEdit.CreateParams(var Params: TCreateParams);
const
  Alignments: array[TAlignment] of Longint = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
  inherited CreateParams(Params);
  with Params do
    Style := Style or Alignments[FAlignment];
end;

procedure TAlignEdit.SetAlignment(Value: TAlignment);
begin
  if FAlignment <> Value then
    begin
      FAlignment := Value;
      RecreateWnd;
    end;
end;

procedure Register;
begin
  RegisterComponents('Beispiele', [TAlignEdit]);
end;

end.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Text im TEdit rechtsbündig

  Alt 23. Sep 2007, 19:00
Hallo Christian,

Zitat von freak4fun:
BiDiMode auf bdRightToLeft stellen.
Das funktioniert nur mit neueren Delphi-Versionen, nicht aber mit Delphi 5: klick.

Gruß Hawkeye
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Text im TEdit rechtsbündig

  Alt 23. Sep 2007, 19:34
Hi Leute,

dank für die vielen Antworten. Da ist ja für jeden Geschmack was dabei. Ich werd es so machen:
- Compilerschalter für D5 und neue Eigenschaft einfügen (Dank an DeddyH),
- höhere Versionen Nutzung von BiDiMode.

Mein Edit ist eh eine abgeleitete Compo und somit ist das kein Problem.

Dank und Gruß an alle

oki
42
  Mit Zitat antworten Zitat
der_kumpel

Registriert seit: 30. Jun 2007
42 Beiträge
 
#6

Re: Text im TEdit rechtsbündig

  Alt 24. Sep 2007, 14:42
Weitere Möglichkeit: TEnhancedEdit
http://www.picsoft.de/compon.htm
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Text im TEdit rechtsbündig

  Alt 24. Sep 2007, 15:05
Hallo oki,

2 Anmerkungen:

1. Mit BiDiMode auf bdRightToLeft stellen muss man aufpassen, dass man keine negative Zahlen eingibt, weil sonnst das Minus-Zeichen ganz recht angezeigt wird.
2. Bei TAlignment ist der Datentyp ein DWORD.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

Re: Text im TEdit rechtsbündig

  Alt 24. Sep 2007, 15:11
Zitat von Chemiker:
2. Bei TAlignment ist der Datentyp ein DWORD.
Unter Delphi 3 war das anscheinend noch nicht so, da hab ich damals nämlich in den Borland-Sourcen nachgesehen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Text im TEdit rechtsbündig

  Alt 25. Sep 2007, 07:31
Moin, Moin

@der_kumpel: Danke für den Link, aber ich möchte an dieser Stelle so lange wie möglich auf Fremd-Kompos verzichten.

@Chemiker: Jo, dass das Edit bei bdRighttoLeft etwas sonderbar wird ist mir auch schon aufgegangen. Da ich nur positive Zahlen zulasse macht sich das mit dem Minus nicht bemerkbar, aber der Cursor wandert zum Beispiel mit Pfeiltaste links nach rechts und umgekehrt. Den Sinn hab ich noch nicht verstanden, und ob ich mir die Mühe mache, dass zu ergründen oder zu ändern muß ich mir noch überlegen. Im Moment ignoriere ich das einfach

@Chemiker, DeddyH: hinweis mit DWORD verstanden.

Dank an alle und Gruß

oki
42
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:10 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