![]() |
Tedit und Textausrichtung
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 |
Re: Tedit und Textausrichtung
nimm einfach ein TMemo und setze "WantReturns" auf False, da kannst Du ganz einfach die Ausrichtung einstellen.
|
Re: Tedit und Textausrichtung
Eigentlich sollte das mit WinAPI funktionieren, poste doch mal dein Versuch, es mit WinAPI zu machen.
Am OS liegt es bestimmt nicht ;-) |
Re: Tedit und Textausrichtung
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 |
Re: Tedit und Textausrichtung
Meineserachtens kann man ES_CENTER, ES_LEFT, ES_RIGHT nur in CreateParams setzen
Delphi-Quellcode:
das sollte gehen
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; |
Re: Tedit und Textausrichtung
@ketraun Setze deinen Code einfach mal ins OnCreate rein. Das sollte gehen...bei mir wenigsten WinXP
|
Re: Tedit und Textausrichtung
Hi,
ich dank Dir, das geht! Etwas extrem umständlich. Ich werd mir halt eine neue Komponente erzeugen. ketraun |
Re: Tedit und Textausrichtung
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 |
Re: Tedit und Textausrichtung
Du könntest ja daraus ein FAQ-Eintrag erstellen ...
|
Re: Tedit und Textausrichtung
hä?
was ist ein FAQ Eintrag? ketraun |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz