Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Text in TEdit ausrichten (https://www.delphipraxis.net/131381-text-tedit-ausrichten.html)

Ganymed 31. Mär 2009 14:03

Re: Text in TEdit ausrichten
 
Bis darauf, dass ich im case das taLeftJustify lieber als else-Fall formuliert habe, habe ich das genauso gebaut ;)

Zitat:

Zitat von DeddyH
Du scheinst den Speicher anderweitig zu verschwenden ;)

Halte ich für unwahrscheinlich ;) Das Speicehrleckt war in der TEdit-Klasse. Ich habe das mal auf die ganzen Vererbungen zurückgefüghrt. (Um es genau zu beschreiben: Ich habe verschiedene Units, in denen ich TFrame immer weiter ableite. Die Crackerklasse habe ich in eine eigene Unit ausgelagert. Diese Cracker-Unit habe ich zunächst nur in der "Eltern"-Unit meines Frames verwendet. Wenn ich dann ein davon abgeleitetes Frame erzeugt und wieder freigegeben habe, kam es zur Speicehrverletzung. Nun habe ich in allen Units, die mein Frame ableiten auch die Cracker-Unit drin und es funzt prima.)

Chemiker 31. Mär 2009 21:23

Re: Text in TEdit ausrichten
 
Hallo Ganymed,

da Du D2007 auch besitzt, würde sich für die Lösung Deines Problems auch einen Class helper eignen.

z.B.:

Delphi-Quellcode:
unit uEditClassHelper;

interface

uses
  Classes, StdCtrls, Windows;

type
  EditClassHelper = Class helper for TEdit
  public
    procedure Rechtsbündig;
    procedure Linksbündig;
  End;

implementation

procedure EditClassHelper.Rechtsbündig;
begin
  SetWindowLong(self.Handle, GWL_ExStyle,
                GetWindowLong(self.Handle, GWL_ExStyle) or WS_EX_Right);
end;

procedure EditClassHelper.Linksbündig;
begin
  SetWindowLong(self.Handle, GWL_ExStyle,
                GetWindowLong(self.Handle, GWL_ExStyle) or WS_EX_LEFT);
end;

end.
Der Aufruf:

Delphi-Quellcode:
Edit1.rechtsbündig;
  Edit1.Text:= 'test';
Bis bald Chemiker

taaktaak 31. Mär 2009 22:07

Re: Text in TEdit ausrichten
 
Moin, Moin.
Das ist ja minimaler Aufwand,
ab welcher Delphi-Version funktioniert denn das so?
Mein D7 kennt keine "TClassHelperBase" :(

Chemiker 31. Mär 2009 22:20

Re: Text in TEdit ausrichten
 
Hallo taaktaak,

ich habe es mit D2006 geschrieben.

Bis bald Chemiker

taaktaak 31. Mär 2009 22:56

Re: Text in TEdit ausrichten
 
Hmmm, das wäre vielleicht ein Grund mal auf eine modernere Version umzusteigen

Chemiker 1. Apr 2009 08:07

Re: Text in TEdit ausrichten
 
Hallo taaktaak,

allerdings würde ich unter normalen Umständen die TEdit – Komponente ableiten und um die Funktionalität erweitern.
Aber diesem Fall soll ja keine andere Komponente benutzt werden.

Trotzdem lohnt sich der Umstieg von D7 nach >D2005.

Bis bald Chemiker

taaktaak 1. Apr 2009 11:34

Re: Text in TEdit ausrichten
 
Moin, Moin Chemiker
- nun gut, in diesem speziellen Fall hat "man" das natürlich auch schon so gemacht. Nachdem ich sehr oberflächlich die Möglichkeiten dieses Verfahrens angeschaut habe, ergeben sich damit ja wohl sehr weitgehende und komfortable Optionen. Werde mich wohl doch einmal mit der neuen Oberfläche anfreunden müssen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 Uhr.
Seite 2 von 2     12   

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