AGB  ·  Datenschutz  ·  Impressum  







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

Tedit und Textausrichtung

Ein Thema von ketraun · begonnen am 11. Aug 2003 · letzter Beitrag vom 11. Aug 2003
Antwort Antwort
Seite 1 von 2  1 2      
ketraun
(Gast)

n/a Beiträge
 
#1

Tedit und Textausrichtung

  Alt 11. Aug 2003, 09:54
Hi,
ich habe ein ganz triviales Problem, ich muss den Text in einem Tedit Feld rechts ausrichten. Ich benutze Win2000 und gleich vorweg, euere Vorschläge mit der Winapi funktionieren bei mir nicht! Warum wissen die Götter.
Welche Prozedur zeichnet eigentlich den Text bei Tedit?

Vielleicht kann mir jemand helfen!

Danke im Vorraus ketraun
  Mit Zitat antworten Zitat
mr2

Registriert seit: 3. Mai 2003
140 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: Tedit und Textausrichtung

  Alt 11. Aug 2003, 10:02
nimm einfach ein TMemo und setze "WantReturns" auf False, da kannst Du ganz einfach die Ausrichtung einstellen.
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#3

Re: Tedit und Textausrichtung

  Alt 11. Aug 2003, 10:07
Eigentlich sollte das mit WinAPI funktionieren, poste doch mal dein Versuch, es mit WinAPI zu machen.
Am OS liegt es bestimmt nicht
Alexander
  Mit Zitat antworten Zitat
ketraun
(Gast)

n/a Beiträge
 
#4

Re: Tedit und Textausrichtung

  Alt 11. Aug 2003, 10:41
hi Alexander,

SetWindowLong(Edit1.Handle, GWL_STYLE, GetWindowLong(Edit1.Handle, GWL_STYLE) or ES_CENTER);

Das Ganze in die Show Prozedur. Mach ich was falsch? Die Zeile ist von Luckie, normalerweise funktioniert das was der schreibt. Der Code wird kommentarlos abgearbeitet, aber keine Reaktion.

Ketraun
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#5

Re: Tedit und Textausrichtung

  Alt 11. Aug 2003, 10:57
Meineserachtens kann man ES_CENTER, ES_LEFT, ES_RIGHT nur in CreateParams setzen

Delphi-Quellcode:
  T??? = class (TEdit)
  private
    fAlignment : TAlignment;
  published
    property Alignment : TAlignment read fAlignment write SetAlignment;
  end;

procedure TPWEdit.SetAlignment(const Value: TAlignment);
begin
  if Value <> fAlignment then
     begin
       fAlignment := Value;
       RecreateWnd; // erzeuge Fenster neu -> CreateParams
     end;
end;


procedure T???.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];
end;
das sollte gehen
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#6

Re: Tedit und Textausrichtung

  Alt 11. Aug 2003, 11:28
@ketraun Setze deinen Code einfach mal ins OnCreate rein. Das sollte gehen...bei mir wenigsten WinXP
Alexander
  Mit Zitat antworten Zitat
ketraun
(Gast)

n/a Beiträge
 
#7

Re: Tedit und Textausrichtung

  Alt 11. Aug 2003, 11:28
Hi,
ich dank Dir, das geht! Etwas extrem umständlich. Ich werd mir halt eine neue Komponente erzeugen.
ketraun
  Mit Zitat antworten Zitat
ketraun
(Gast)

n/a Beiträge
 
#8

Re: Tedit und Textausrichtung

  Alt 11. Aug 2003, 11:47
Hi,
hier ist eine funktionierende Komponente mit der man den Text in Tmaskedit ausrichten kann. Wer tedit benutzen will muss nur tmaskedit durch Tedit ersetzen.
Das ganze Winapi Zeugs, mit dem man das angeblich auch machen kann ist Betriebssystemabhängig und funktioniert mal und mal nicht.

unit maskeditL;

interface

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

type
TmaskeditL = class(Tmaskedit)
private
{ Private-Deklarationen }
fAlignment : TAlignment;
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
procedure SetAlignment(const Value: TAlignment);
procedure CreateParams(var Params: TCreateParams);override;
published
{ Published-Deklarationen }
property Alignment : TAlignment read fAlignment write SetAlignment;
end;

procedure Register;

implementation

procedure TmaskEditL.SetAlignment(const Value: TAlignment);
begin
if Value <> fAlignment then
begin
fAlignment := Value;
RecreateWnd; // erzeuge Fenster neu -> CreateParams
end;
end;

procedure TmaskEditL.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;

procedure Register;
begin
RegisterComponents('Zusätzlich', [TmaskeditL]);
end;

Wer will kann dem Ding auch noch ein Icon verpassen.
ketraun
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#9

Re: Tedit und Textausrichtung

  Alt 11. Aug 2003, 12:00
Du könntest ja daraus ein FAQ-Eintrag erstellen ...
Alexander
  Mit Zitat antworten Zitat
ketraun
(Gast)

n/a Beiträge
 
#10

Re: Tedit und Textausrichtung

  Alt 11. Aug 2003, 12:30
hä?
was ist ein FAQ Eintrag?
ketraun
  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 09:51 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