Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Label soll immer die höhe eines EditFeldes anzeigen (https://www.delphipraxis.net/96510-label-soll-immer-die-hoehe-eines-editfeldes-anzeigen.html)

scrat1979 25. Jul 2007 21:40

Re: Label soll immer die höhe eines EditFeldes anzeigen
 
Zitat:

Zitat von Darksniper
und wie stellt man den timer ein sodass er immer wieder abläuft

1. Intervall setzen in msek (z.B. 3500 = 3.5 Sekunden)
2. Enabled := True setzen

--> OnTimer-Event wird alle 3.5 Sekunden aufgerufen, bis Enabled := False gesetzt wird.

SCRaT

scrat1979 25. Jul 2007 21:41

Re: Label soll immer die höhe eines EditFeldes anzeigen
 
Zitat:

Zitat von mkinzler
Du hast immer noch nicht kapiert, was man dir sagen will: Kein Timer sondern direkt bei der Änderung der Größe des Edits.

Das Gefühl habe ich auch. Ein Timer halte ich auch für überflüssig. :cheers:

Darksniper 25. Jul 2007 21:49

Re: Label soll immer die höhe eines EditFeldes anzeigen
 
Zitat:

Zitat von scrat1979
Zitat:

Zitat von mkinzler
Du hast immer noch nicht kapiert, was man dir sagen will: Kein Timer sondern direkt bei der Änderung der Größe des Edits.

Das Gefühl habe ich auch. Ein Timer halte ich auch für überflüssig. :cheers:

Damit spart man sich ne meng zeilen

scrat1979 25. Jul 2007 22:05

Re: Label soll immer die höhe eines EditFeldes anzeigen
 
Zitat:

Zitat von Darksniper
Damit spart man sich ne meng zeilen

Mag schon sein. Aber man sagt, der Timer sei verhältnismäßig resourcenlastig wenn ich mich richtig erinnere. Da müsste man schon abwägen und überlegen, nicht doch vllt lieber z.B. 20 Zeilen mehr Quelltext zu schreiben.

SCRaT

mkinzler 25. Jul 2007 22:09

Re: Label soll immer die höhe eines EditFeldes anzeigen
 
Du hast doch bestimmt ne Klingel an deiner Haustür, an der dann Gäste klingeln. Oder hast du einen Angestellten (Thread) der regelmässig vor die Tür geht um zu sehen, ob einer davorsteht?

dajuhsa 25. Jul 2007 23:00

Re: Label soll immer die höhe eines EditFeldes anzeigen
 
^^

Hawkeye219 26. Jul 2007 08:01

Re: Label soll immer die höhe eines EditFeldes anzeigen
 
Hallo,

ich hätte da noch eine Lösung ohne Timer:

Delphi-Quellcode:
type
  TEdit = class (StdCtrls.TEdit)
  private
    FOnSizeChange : TNotifyEvent;
  public
    procedure SetBounds (ALeft, ATop, AWidth, AHeight: Integer); override;
    property OnSizeChange: TNotifyEvent
      read FOnSizeChange write FOnSizeChange;
  end;

  TForm1 = class (TForm)
    {...}
    Button1 : TButton;
    Edit1 : TEdit;
    Label1 : TLabel;
    procedure Button1Click (Sender: TObject);
    procedure FormCreate (Sender: TObject);
  private
    procedure SizeChanged (Sender: TObject);
  end;

procedure TEdit.SetBounds (ALeft, ATop, AWidth, AHeight: Integer);
begin
  inherited;
  if Assigned(FOnSizeChange) then
    FOnSizeChange (Self);
end;

procedure TForm1.Button1Click (Sender: TObject);
begin
  with Edit1.Font do
    Size := Size + 1;
end;

procedure TForm1.FormCreate (Sender: TObject);
begin
  Edit1.OnSizeChange := SizeChanged;
end;

procedure TForm1.SizeChanged (Sender: TObject);
begin
  with (Sender as TEdit) do
    Label1.Caption := Format('Height: %d', [Height]);
end;
Der Vorteil dieser Lösung besteht darin, daß sie auch auf (versteckte) Änderungen des Fonts im Edit reagiert. Ein manuelles Nachführen des Labels ist in solchen Fällen oft schwierig.

Gruß Hawkeye

dajuhsa 26. Jul 2007 13:04

Re: Label soll immer die höhe eines EditFeldes anzeigen
 
das hatten wir grade erst^^
http://www.delphipraxis.net/internal...918&highlight=


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

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