AGB  ·  Datenschutz  ·  Impressum  







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

Text im TEdit mittig

Ein Thema von franktron · begonnen am 14. Sep 2006 · letzter Beitrag vom 11. Dez 2006
Antwort Antwort
Seite 1 von 2  1 2      
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Text im TEdit mittig

  Alt 14. Sep 2006, 14:58
Wie kann ich in meinem TEdit den Text in der mitte anordnen und zwar nicht in der Breite sondern in der Höhe.

Also wenn z.b. meine Schrift 10 ist und meine Edit 20 müsste ja oben ein Rand von 5 sein.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Text im TEdit mittig

  Alt 14. Sep 2006, 15:08
Bei einem TEdit geht das meines Wissens nach nicht.
Bei einem TMemo kann man schon mal Alignment angeben. Aber ob das das ist, was Du willst, keine Ahnung.

Sonst musst Du eine Fremdkomponente verwenden, z,B, bei torry.net suchen...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Daniel B
Daniel B

Registriert seit: 27. Okt 2005
Ort: Dachau
453 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Text im TEdit mittig

  Alt 14. Sep 2006, 15:09
Da hilft nur TEDit ableiten und selbst umstricken, oder mit Canvas den Text selbst an der richtigen Stelle zeichnen.
Servus...
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

Re: Text im TEdit mittig

  Alt 14. Sep 2006, 15:12
Zitat von Daniel B:
Da hilft nur TEDit ableiten und selbst umstricken, oder mit Canvas den Text selbst an der richtigen Stelle zeichnen.
Abgeleitet ist das schon hab neunen Rand gemalt, also muss ich den gesamten Text Selber Zeichnen
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Text im TEdit mittig

  Alt 14. Sep 2006, 15:15
Was ist daran so schlimm? Außerdem ist ein TEdit eh fast das gleiche wie ein TMemo, jedenfalls aus WinAPI-Sicht, daher dürfte es möglich sein, mit API-Aufrufen den gleichen Effekt hinzukriegen.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Daniel B
Daniel B

Registriert seit: 27. Okt 2005
Ort: Dachau
453 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Text im TEdit mittig

  Alt 14. Sep 2006, 15:17
Ach so, wenn du schon dabei bist, ja, musst selbst zeichnen, die Position hast du ja einfach durch Edit.Height/Font.Size/2 und ab da beginnst du dann das Zeichnen an.
Servus...
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

Re: Text im TEdit mittig

  Alt 14. Sep 2006, 15:24
Ja aber das ganz mit Markieren und Copy Past u.s.w. geht dann ja nicht mehr
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#8

Re: Text im TEdit mittig

  Alt 14. Sep 2006, 15:28
Bei Google suchenadpEdit bzw. Bei Google suchenDelphi adpEdit
  Mit Zitat antworten Zitat
Benutzerbild von Daniel B
Daniel B

Registriert seit: 27. Okt 2005
Ort: Dachau
453 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Text im TEdit mittig

  Alt 14. Sep 2006, 15:32
Zitat von Nils_13:
Die machen es nur horizontal, Er möchte es vertikal, in der Höhe ausricten.
Servus...
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#10

Re: Text im TEdit mittig

  Alt 14. Sep 2006, 16:41
Hallo
es gibt da EM_SETRECTNP, geht allerdings nur, wenn das Edit multiline ist, oder bei einem Memo.

Delphi-Quellcode:
type
  TEditAlign = class(TEdit)
  private
    FAlignment: TAlignment;
    procedure SetAlignment(const Value: TAlignment);
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  public
    constructor Create(AOwner: TComponent); override;
  published
    property Alignment: TAlignment read FAlignment write SetAlignment;
  end;

  TForm1 = class(TForm)
   ...
   private
    edit2:TEditAlign;
   ...
  end;

...

procedure TForm1.Button1Click(Sender: TObject);
Var R:Trect;
begin
  edit2:=TEditAlign.Create(self);
  edit2.Parent:=self;
  edit2.Alignment:=taCenter;
  edit2.Top:=20;
  edit2.Left:=20;
  edit2.Height:=50;
  edit2.Width := 150;
  edit2.Text:='Zentriert';

  R := Rect(1, 16, Edit2.Width - 2, Edit2.Height); //kann man ja noch richtig ausmitteln ;-)
  SendMessage(Edit2.Handle, EM_SETRECTNP, 0, LongInt(@R));
  SendMessage(Edit2.Handle, EM_SCROLLCARET, 0, 0);
  Edit2.Repaint;
end;

{ TEditAlign }

constructor TEditAlign.Create(AOwner: TComponent);
begin
  inherited;
  FAlignment := taLeftJustify;
end;

procedure TEditAlign.CreateParams(var Params: TCreateParams);
begin
  inherited;
  case FAlignment of
    taLeftJustify : Params.Style := Params.Style or ES_LEFT or ES_MULTILINE;
    taCenter : Params.Style := Params.Style or ES_CENTER or ES_MULTILINE;
    taRightJustify : Params.Style := Params.Style or ES_RIGHT or ES_MULTILINE;
  end;
end;

procedure TEditAlign.SetAlignment(const Value: TAlignment);
begin
  if FAlignment <> Value then
  begin
    FAlignment := Value;
    RecreateWnd;
  end;
end;
aber damit steht zumindestens der Text dort, wo er stehen soll und mit markieren hast du auch keine Probleme. Der User darf halt bloß nicht enter drücken oder zuviel reinschreiben :'(

Mfg Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:28 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