Editfeld ausrichten <Delphi>

Diskutiere Editfeld ausrichten <Delphi> im Developer Network Forum im Bereich Hardware & Software Forum; Hallo, gibt es einen einfachen Weg, um den Text von Editfeldern auszurichten? Linksbündig, Rechtsbündig? oder muss ich das von Hand erstellen...
  • Editfeld ausrichten <Delphi> Beitrag #1
N

Nastarowje

Bekanntes Mitglied
Dabei seit
19.04.1999
Beiträge
378
Reaktionspunkte
0
Ort
Erfurt / Thüringen
Hallo,

gibt es einen einfachen Weg, um den Text von Editfeldern auszurichten? Linksbündig, Rechtsbündig? oder muss ich das von Hand erstellen. Neue Komponenten möchte ich vorerst nicht installieren.


Vielen Dank
 
  • Editfeld ausrichten <Delphi> Beitrag #2
G

Gast53986

Guest
das geht glaub ich nur wenn du entweder die komponente editierst, oder wenn du einfach das edit manuell per api erstellst. das könntest du beispielsweise folgendermaßen machen:

erstellen:
hwndEdit1 := CreateWindowEx(WS_EX_CLIENTEDGE, 'EDIT Text', 'Edit1', WS_VISIBLE or
WS_CHILD or ES_NOHIDESEL or ES_CENTER, 10, 20, 200, 20, handle, IDC_EDIT1, hInstance, nil);

auslesen bzw. beschreiben kannst du es dann einfach mit get- bzw. setwindowtext
 
  • Editfeld ausrichten <Delphi> Beitrag #3
N

Nastarowje

Bekanntes Mitglied
Dabei seit
19.04.1999
Beiträge
378
Reaktionspunkte
0
Ort
Erfurt / Thüringen
Hallo,

kannst du mir den String etwas erklären? Wie richte ich mit dem Befehl das Textfeld aus?


Vielen Dank
 
  • Editfeld ausrichten <Delphi> Beitrag #4
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
gibt es einen einfachen Weg, um den Text von Editfeldern auszurichten? Linksbündig, Rechtsbündig? oder muss ich das von Hand erstellen.
Selbstverständlich gibt es einen einfachen Weg, schau Dir einfach die Eigenschaft Alignment des TEdit an...
 
  • Editfeld ausrichten <Delphi> Beitrag #5
N

Nastarowje

Bekanntes Mitglied
Dabei seit
19.04.1999
Beiträge
378
Reaktionspunkte
0
Ort
Erfurt / Thüringen
@O Love

die Alignment Eigenschaft finde ich aber nirgends. Diese Eigenschaften gibts in alphabetischer Reihenfolge. Ist nur ein Auszug.

Action
Align
AlignDisabled
Anchors
AutoSelect
AutoSize

BevelEdges
BevelInner
BevelKind
BevelOuter
BiDiMode
BorderStyle

BoundsRect
Brush
CanUndo
CharCase
ClientHeight


Ich arbeite mit Delphi 5 Personal. Vielleicht gibts die da noch nicht. Auf alle Fälle habe ich weder unter TEdit noch TMaskEdit was gefunden.


Danke
 
  • Editfeld ausrichten <Delphi> Beitrag #6
WhiskeyCola16

WhiskeyCola16

Bekanntes Mitglied
Dabei seit
22.12.2001
Beiträge
971
Reaktionspunkte
1
Ort
Österreich
Delphi ist zwar nicht so wirklich "meine" sprache... aber an folgendes kann ich mich dunkel erinnern:

für dein problem gibt es mehrere mögliche lösungen.
1. nimm ein TMemo statt dem TEdit. fürs tmemo legst du einfach die größe passend fest, beschränkst die zeilenanzahl auf 1 und die alignment eigenschaft setzt du passend.
2. leite von tedit ein neues control ab, in dem du das gewünschte verhalten implementierst.

lg,
patrick
 
  • Editfeld ausrichten <Delphi> Beitrag #7
G

Gast53986

Guest
@O Love: also ich hab beim bds06 auch keine alignment eigenschaft .... das kenn ich auch nur von labels

@Nastarowje: zu der erklärung des strings:
hwndEdit1 := CreateWindowEx(WS_EX_CLIENTEDGE, 'EDIT Text', 'Edit1', WS_VISIBLE or
WS_CHILD or ES_NOHIDESEL or ES_CENTER, 10, 20, 200, 20, handle, IDC_EDIT1, hInstance, nil);

hwndedit1: ist eine variable die du vorher deklarieren kannst, in ihr wird das handle des zu erstellenden edit feldes gespeichert damit du es später darüber ansprechen kannst

CreateWindowEx: heißt die api funktion die zum erstellen verwendet wird, damit kann man auch buttons, ip eingabefelder etc. erstellen

WS_EX_CLIENTEDGE: ist der fensterstyle

'EDIT Text': ist der text der später in dem edit stehen wird

WS_VISIBLE or WS_CHILD or ES_NOHIDESEL or ES_CENTER: sind designkriterien, das es_center kannst du auch z.B. durch es_left ersetzen um den normalen linksbündigen style zu haben

10, 20, 200, 20,: sind die größen- und positionsangaben

handle: ist das handle des parentwindow (also deine form)

IDC_EDIT1: ist eine konstanze die du vorher deklaieren musst, sie kann beispielsweise den wert 1 haben, das nächste edit dann den wert 2 usw.

hinstance, nil: muss nicht geändert werden, bleibt immer gleich
 
  • Editfeld ausrichten <Delphi> Beitrag #8
O

O Love

Bekanntes Mitglied
Dabei seit
08.04.1999
Beiträge
2.286
Reaktionspunkte
0
Ich habe heute nachgesehen, stimmt, im TEdit von Delphi gibt's kein Alignment. Ich nutze immer die Edits aus dem DC-Package, da kann man schon mal durcheinanderkommen. :)

Hier ein Auszug, wenn man sein eigenes Edit-Control schreiben will:
Code:
procedure TDCCustomEdit.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
    Style	:= Style or Alignments[UseRightToLeftAlignment, FAlignment];
end;
 
  • Editfeld ausrichten <Delphi> Beitrag #9
G

Gast53986

Guest
wo wir schon grad bei edit feldern sind, kann mir jmd sagen wie ich die farbe eines controls per api ändere??
 
Thema:

Editfeld ausrichten <Delphi>

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben