![]() |
Textformatierung im Editfeld
Hi!
Folgendes: Ich programmiere gerade an einem kleinen Progrämmchen und möchte dabei jeweils die Ein- und Ausgaben in den Editfeldern und in dem StringGrid formatieren. Standardmäßig läuft der Text ja von links nach rechts, aber ich möchte das er von rechts nach links läuft, wie es beispielsweise bei einem Taschenrechner der Fall ist. Über jede Hilfe würde ich mich freuen. Achja, ich benutze nicht die normalen Editfelder, sonder die FlatStyle-Componenten. Hoffe das das damit trotzdem irgendwie geht. Danke. mfg, GetCool |
Re: Textformatierung im Editfeld
Hat keiner eine Idee?
|
Re: Textformatierung im Editfeld
folgenden Source in als maskeditL.pas speichern und in ein package einbinden. Anschließend hast du eine neue Komponente namens TAlignEdit (und TAlignDBEdit). Eventeull das TAlignDBEdit rausnehmen wenn du kein DB-zeugs bei deiner Delphiverision hast damits geht.
Delphi-Quellcode:
unit maskeditL;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, DBCtrls; type TAlignEdit = class(TEdit) 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; TAlignDBEdit = class(TDBEdit) 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 TAlignEdit.SetAlignment(const Value: TAlignment); begin if Value <> fAlignment then begin fAlignment := Value; RecreateWnd; // erzeuge Fenster neu -> CreateParams end; end; procedure TAlignEdit.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 TAlignDBEdit.SetAlignment(const Value: TAlignment); begin if Value <> fAlignment then begin fAlignment := Value; RecreateWnd; // erzeuge Fenster neu -> CreateParams end; end; procedure TAlignDBEdit.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('ESFEB', [TAlignEdit,TAlignDBEdit]); end; end. |
Re: Textformatierung im Editfeld
:shock:
Danke! Werd ich mir bei zeiten mal zu gemüte führen. Für mein aktuelles Projekt verwende ich es wohl erstmal nicht :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 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 by Thomas Breitkreuz