![]() |
Text in EDIT zentrieren
Ich will den Text in EDIT zentriert haben.
Aber ich habe keine Funktion dafür gefunden. Kann mir bitte jemand helfen? |
Re: Text in EDIT zentrieren
|
Re: Text in EDIT zentrieren
Danke für die schnelle Hilfe!
P.S. Ich habe erst gestern mit Delphi angefangen, also bitte nicht böse sein, wegen der dummen Frage... |
Re: Text in EDIT zentrieren
Hi!
Herzlich Willkommen in der DP. Zum einen war das ganz und gar keine dumme Frage und zum anderen sind natürlich auch Anfängerfragen immer gern beantwortet (wenn es nicht gerade ein Thema ist, dass schon 10.000 Mal besprochen wurde -> Suche :wink: ) Was ein Problem angeht: Wenn du erst seit gestern mit Delphi arbeitest wird es dir mit Sicherheit wohl nicht allzu leicht fallen, eine Komponente abzuleiten. Vielleicht findet sich ja unter ![]() Ciao Frederic |
Re: Text in EDIT zentrieren
Zitat:
Zitat:
|
Re: Text in EDIT zentrieren
@fkerber
Habs nach ein wenig Rumprobieren hinbekommen. Ich habe ja immerhin 1,5 Jahre VB 6 Erfahrung, aber nun wurde es Zeit umzusteigen... Aber jetzt habe ich ein anderes Problem. Ich habe im normalen Tedit den Font auf Arial, Fett und 12 gestellt. Das ergibt eine Höhe von 27 Pixel. Da habe ich sie immer manuell auf 23 runtergestellt und alles war bestens, denn ich will das Feld nicht so groß haben. Bei der TAlignEdit geht das nicht, egal was ich mach. Es stellt sich immer auf 27 Pixel zurück. Ist zwar nur ein kleines Problem, aber es stört mich. Ich hoffe ihr wisst, was ich meine und ihr könnt mir helfen! |
Re: Text in EDIT zentrieren
Hi!
Zitat:
Ciao Frederic |
Re: Text in EDIT zentrieren
Zitat:
Habe die Komponente noch ein wenig abgeändert. Sollte somit das Problem mit der Höhe behoben sein.
Delphi-Quellcode:
unit AlignEdit;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; TAlignEdit = class(TEdit) private { Private-Deklarationen } FAlignment: TAlignment; procedure SetAlign(const Value: TAlignment); procedure WMChar(var Msg:TWMKey); message WM_CHAR; procedure WMSetFocus(var Msg: TWMSetFocus); message WM_SETFOCUS; protected { Protected-Deklarationen } procedure CreateParams(var Params: TCreateParams); override; public { Public-Deklarationen } constructor Create(AOwner: TComponent); override; published { Published-Deklarationen } property Alignment: TAlignment read FAlignment write SetAlign default taLeftJustify; end; procedure Register; implementation constructor TAlignEdit.Create(Aowner: TComponent); begin inherited Create(AOwner); FAlignment := taLeftJustify; end; procedure TAlignEdit.SetAlign(const Value: TAlignment); begin if FAlignment <> Value then begin FAlignment := Value; RecreateWnd; end; end; procedure TAlignEdit.CreateParams(var Params: TCreateParams); const Styles : Array [TAlignment] of DWORD = (ES_LEFT, ES_RIGHT, ES_CENTER ); begin inherited; Params.style := Params.style or Styles[FAlignment] or ES_MULTILINE * Ord(FAlignment <> taLeftJustify); end; procedure TAlignEdit.WMChar(var Msg: TWMKey); var key: Char; begin if Msg.CharCode = VK_RETURN then begin key := #13; if Assigned(OnKeyPress) then OnKeyPress(Self,key); Msg.CharCode := 0; end; end; procedure TAlignEdit.WMSetFocus(var Msg: TWMSetFocus); begin inherited; SelectAll; end; procedure Register; begin RegisterComponents('Standard', [TAlignEdit]); end; end. |
Re: Text in EDIT zentrieren
THX toms für deine Mühe, jetzt geht alles!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 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